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

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

问题描述:

I was working with php and mysql and can't seem to insert data into a database. Here's the error below:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'My Street','A00 1PQ','')' at line 3

$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')";

The data on that line 3 are address3 and post code. Everything seem ok to me, but still can't figure out what might be the problem.

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

错误:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第3行“我的街道”,“A00 1PQ”,“”)附近使用正确的语法 p>

  $ 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('无法连接:'  .mysql_error()); 
} 
 
mysql_select_db(“peoplesdb”,$ con); 
 
 // $ description = mysql_real_escape_string($ _ POST [description]); 
 
 $ sql =“INSERT  INTO会员(用户名,pword,fname,lname,电子邮件,电话,ad1,ad2,ad3,pcode,status)
 
VALUES 
('$ username','$ pword','$ fname','$ lname',  '$ email','$ telephone','$ ad1','$ ad2,'$ ad3','$ pcode')“; 
  code>  pre> 
 
 

数据 在第3行是地址3和邮政编码。 一切似乎都没问题,但仍然无法弄清楚可能出现的问题。 p> div>

The output of mysql clearly shows a quoting problem and looking at this line I see a missing ' in your code after $ad2

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

You don't have a value to insert for status. You have one more column than you do values.

You are forgetting an extra ' after '$ad2 but before ,'$ad3'

You want to set the field status, but didn't list it in the VALUES.

Please check a insert query field name is 11.but value is only 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')";