Php 我目前有一个MYSQL语法错误
我对MYSQL非常陌生,在我创建这个脚本来更新MYSQL数据库表中的一行并运行它之后,我得到了这个错误 错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第3行“265”、雇主增值税编号=“45698”、雇主名称=“Namtax有限公司”、雇主附近使用的正确语法 这是密码Php 我目前有一个MYSQL语法错误,php,mysql,Php,Mysql,我对MYSQL非常陌生,在我创建这个脚本来更新MYSQL数据库表中的一行并运行它之后,我得到了这个错误 错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第3行“265”、雇主增值税编号=“45698”、雇主名称=“Namtax有限公司”、雇主附近使用的正确语法 这是密码 // username and password sent from form $Numb=$_POST["Numb"]; $VAT=$_POST["VAT"]; $Nam
// username and password sent from form
$Numb=$_POST["Numb"];
$VAT=$_POST["VAT"];
$Name=$_POST["Name"];
$Addr=$_POST["Addr"];
$PO=$_POST["PO"];
// To protect MySQL injection (more detail about MySQL injection )
$Numb = stripslashes($Numb);
$VAT = stripslashes($VAT) ;
$Name = stripslashes($Name) ;
$Addr = stripslashes($Addr) ;
$PO = stripslashes($PO) ;
$Numb = "'" . mysql_real_escape_string($Numb) . "'";
$VAT = "'" . mysql_real_escape_string($VAT) . "'";
$Name = "'" . mysql_real_escape_string($Name) . "'";
$Addr = "'" . mysql_real_escape_string($Addr) . "'";
$PO = "'" . mysql_real_escape_string($PO) . "'";
$sql=("UPDATE $tb1_name SET Employer_Registration_Number ='".$Numb."', Employer_VAT_number = '".$VAT."', Employer_Name = '".$Name."', Employer_Address = '".$Addr."', Employer_Postal_Address = '".$PO."' WHERE Employer_Name = '".$Name."' ");
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "Successfully Updated";
mysqli_close($con);
?>
</body>
//从表单发送的用户名和密码
$Numb=$_POST[“Numb”];
$VAT=$_POST[“VAT”];
$Name=$_POST[“Name”];
$Addr=$_POST[“Addr”];
$PO=$_POST[“PO”];
//保护MySQL注入(有关MySQL注入的更多详细信息)
$Numb=条纹斜杠($Numb);
$VAT=条纹斜杠($VAT);
$Name=stripslashes($Name);
$Addr=stripslashes($Addr);
$PO=斜杠($PO);
$Numb=“””。mysql\u real\u escape\u字符串($Numb)。"'";
$VAT=“””。mysql\u real\u escape\u字符串($VAT)。"'";
$Name=“””。mysql\u real\u escape\u字符串($Name)。"'";
$Addr=“””。mysql\u real\u escape\u字符串($Addr)。"'";
$PO=“””。mysql\u real\u escape\u字符串($PO)。"'";
$sql=(“更新$tb1\名称集雇主\注册\编号=””、“$Numb.”、雇主\增值税\编号=”、“$VAT.”、雇主\名称=”、“$name.”、雇主\地址=”、“$Addr.”、雇主\邮政\地址=”、“$PO.”其中雇主\名称=“$name.”);
如果(!mysqli_query($con,$sql))
{
die('Error:'.mysqli_Error($con));
}
echo“已成功更新”;
mysqli_close($con);
?>
此处:
$Numb = "'" . mysql_real_escape_string($Numb) . "'";
首先,这是不正确的语法,您使用的是mysqli\uu
连接,至少我希望您是这样
- 这些不同的MySQL API不会相互混合
$Numb = mysqli_real_escape_string($con,$Numb);
在对其余变量执行相同操作时,请遵循此处概述的相同方法
脚注:
$con = mysqli_connect("yourhost","user","pass","your_DB")
or die("Error " . mysqli_error($con));
看到您没有发布$tb1_name
是什么,我怀疑这会导致问题。但为了便于讨论,请将该变量用记号括起来,如果您的表名更改为包含连字符或空格的内容,或者MySQL会抱怨的内容,也可以这样做
UPDATE `$tb1_name` SET...
另外,由于您没有提到要使用哪个MySQL API进行连接,请确保它实际上是mysqli\uu
而不是MySQL\u
或PDO
看起来不像,但我必须100%确定
您的连接应该类似以下内容:
$con = mysqli_connect("yourhost","user","pass","your_DB")
or die("Error " . mysqli_error($con));
同样,这些不同的MySQL API不会相互混合
- 咨询(PHP:选择API-手册):
“我是MYSQL的新手…” 看到你是新来的:
- 使用,或
附加注释。(作为编辑) 我注意到你先前发布的另一个问题:
的地方,这怎么可能起作用呢
- 你需要告诉我们你在这里的联系方式
如果您确实想查看查询是否成功,请使用
添加到文件的顶部,这将有助于查找错误
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
此处:
$Numb = "'" . mysql_real_escape_string($Numb) . "'";
首先,这是不正确的语法,您使用的是mysqli\uu
连接,至少我希望您是这样
- 这些不同的MySQL API不会相互混合
应改为:
$Numb = mysqli_real_escape_string($con,$Numb);
在对其余变量执行相同操作时,请遵循此处概述的相同方法
脚注:
$con = mysqli_connect("yourhost","user","pass","your_DB")
or die("Error " . mysqli_error($con));
看到您没有发布$tb1_name
是什么,我怀疑这会导致问题。但为了便于讨论,请将该变量用记号括起来,如果您的表名更改为包含连字符或空格的内容,或者MySQL会抱怨的内容,也可以这样做
UPDATE `$tb1_name` SET...
另外,由于您没有提到要使用哪个MySQL API进行连接,请确保它实际上是mysqli\uu
而不是MySQL\u
或PDO
看起来不像,但我必须100%确定
您的连接应该类似以下内容:
$con = mysqli_connect("yourhost","user","pass","your_DB")
or die("Error " . mysqli_error($con));
同样,这些不同的MySQL API不会相互混合
- 咨询(PHP:选择API-手册):
“我是MYSQL的新手…”
看到你是新来的:
- 使用,或
附加注释。(作为编辑)
我注意到你先前发布的另一个问题:
你在给出的答案中说“谢谢你,它成功了”
我不明白。
如果(!mysqli_query($con,$sql))
,在使用的地方,这怎么可能起作用呢
- 你需要告诉我们你在这里的联系方式
如果您确实想查看查询是否成功,请使用
添加到文件的顶部,这将有助于查找错误
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
此处:
$Numb = "'" . mysql_real_escape_string($Numb) . "'";
首先,这是不正确的语法,您使用的是mysqli\uu
连接,至少我希望您是这样
- 这些不同的MySQL API不会相互混合
应改为:
$Numb = mysqli_real_escape_string($con,$Numb);
在对其余变量执行相同操作时,请遵循此处概述的相同方法
脚注:
$con = mysqli_connect("yourhost","user","pass","your_DB")
or die("Error " . mysqli_error($con));
看到您没有发布$tb1_name
是什么,我怀疑这会导致问题。但为了便于讨论,请将该变量用记号括起来,如果您的表名更改为包含连字符或空格的内容,或者MySQL会抱怨的内容,也可以这样做
UPDATE `$tb1_name` SET...
另外,由于您没有提到要使用哪个MySQL API进行连接,所以请