Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 错误:您的SQL语法有错误_Php_Mysql - Fatal编程技术网

Php 错误:您的SQL语法有错误

Php 错误:您的SQL语法有错误,php,mysql,Php,Mysql,我使用的是php和mysql,似乎无法将数据插入数据库。 下面是错误: 错误:您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第3行“My Street”、“A00 1PQ”和“.”附近使用的正确语法 $username = mysql_real_escape_string($_POST['username']); $pword = mysql_real_escape_string($_POST['passwd']); $fname = mysql

我使用的是php和mysql,似乎无法将数据插入数据库。 下面是错误:

错误:您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第3行“My Street”、“A00 1PQ”和“.”附近使用的正确语法

$username   = mysql_real_escape_string($_POST['username']);
 $pword      = mysql_real_escape_string($_POST['passwd']);
 $fname      = mysql_real_escape_string($_POST['firstname']);
 $lname      = mysql_real_escape_string($_POST['lastname']);
 $email      = mysql_real_escape_string($_POST['email']);
 $telephone  = mysql_real_escape_string($_POST['telephone']);
 $ad1        = mysql_real_escape_string($_POST['ad1']);
 $ad2        = mysql_real_escape_string($_POST['street']);
 $ad3        = mysql_real_escape_string($_POST['town']);
 $pcode      = mysql_real_escape_string($_POST['pcode']);


$con = mysql_connect("localhost","myuser","mypass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("peoplesdb", $con);

//$description = mysql_real_escape_string($_POST[description]);

$sql="INSERT INTO members (username, pword, fname, lname, email, telephone, ad1, ad2, ad3, pcode, status)
VALUES
('$username','$pword','$fname', '$lname', '$email','$telephone','$ad1','$ad2,'$ad3','$pcode')";

第3行的数据是地址3和邮政编码。我觉得一切正常,但仍然无法找出问题所在。

您没有可插入的状态值。您比值多了一列。

您忘记了在
'$ad2
之后但在
之前,'$ad3'
您想设置字段状态,但是没有在值中列出它。

mysql的输出清楚地显示了一个引用问题,看这一行,我发现在
$ad2

('$username','$pword','$fname', '$lname', '$email','$telephone','$ad1','$ad2,'$ad3','$pcode')";

请检查插入查询字段名是否为11。但值仅为10

"INSERT INTO members (username, pword, fname, lname, email, telephone, ad1, ad2, ad3, pcode, status)
VALUES
('$username','$pword','$fname', '$lname', '$email','$telephone','$ad1','$ad2,'$ad3','$pcode')";

对的您有11个insert intos,只有10个值。我知道缺少的值-这是一个自动增量值,它被谨慎地保留为空。谢谢你,我已经解决了。查询中缺少一个。感谢@HefferWolf指出缺少的单引号字符。这就解决了问题。