Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我目前有一个MYSQL语法错误_Php_Mysql - Fatal编程技术网

Php 我目前有一个MYSQL语法错误

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

我对MYSQL非常陌生,在我创建这个脚本来更新MYSQL数据库表中的一行并运行它之后,我得到了这个错误

错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第3行“265”、雇主增值税编号=“45698”、雇主名称=“Namtax有限公司”、雇主附近使用的正确语法

这是密码

// 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的新手…”

看到你是新来的:

  • 使用,或

附加注释。(作为编辑)

我注意到你先前发布的另一个问题:

你在给出的答案中说“谢谢你,它成功了”

我不明白。

如果(!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进行连接,请确保它实际上是
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进行连接,所以请