2012-04-24 145 views
0

我有两个代码将数据放入数据库,但它产生错误,请查看下面的代码。MYSQL插入语法错误

$email = "[email protected]"; //email 

$pass = "helloworld"; //password 

$fname = "Example"; //first name 

$lname = "Man"; //last name 

$birth = "2012-2-1"; //birthday 

$gender = "male"; //gender 

$site_prefix = "my_"; //table prefix 

此代码不工作并输出一个错误

$sql = " 
INSERT INTO `{$site_prefix}login` (`email`,`pass`) 
VALUES ('$email','$pass'); 
INSERT INTO `{$site_prefix}users` (`fname`,`lname`,`birthday`,`gender`) 
VALUES ('$fname','$lname','$birth','$gender')"; 

mysql_query($sql,$con) or die(mysql_error()); 

错误 你在你的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的“INSERT INTO my_users(fnamelnamebirthdaygender)VALUES(”示例正确的语法”,‘马’手册第2行

此代码正常工作

$sql = "INSERT INTO `{$site_prefix}login` (`email`,`pass`) VALUES ('$email','$pass');"; 

$sql1 = "INSERT INTO `{$site_prefix}users` (`fname`,`lname`,`birthday`,`gender`) VALUES ('$fname','$lname','$birth','$gender')"; 

mysql_query($sql,$con) or die(mysql_error()); 
mysql_query($sql1,$con) or die(mysql_error()); 
+0

你需要引号字段的名称吗?它只需要值..是它http://www.w3schools.com/php/php_mysql_insert.asp – zod 2012-04-24 16:05:14

+1

@ user1335825:我希望你插入的值已妥善处理,以防止SQL注入攻击...... – 2012-04-24 16:06:29

回答

3

mysql_query不能在一个查询中处理多个语句

docs

mysql_query()发送一个唯一的查询(多个查询不支持),以当前活动的数据库与指定link_identifier

使用mysqli相关(与mysqli_multi_query)如果需要此功能,在服务器上。

+0

谢谢很多Quassnoi,但我仍然会继续使用MySQL。 – soachishti 2012-04-24 19:10:50