错误:您的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')";