MYSQL插入语法错误

时间:2012-04-24 16:00:03

标签: mysql syntax

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

$email = "example@hotmail.com"; //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('示例'附近使用正确的语法','Ma'在第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());

1 个答案:

答案 0 :(得分:3)

mysql_query无法在一个查询中处理多个语句。

来自docs

  

mysql_query()向与指定 link_identifier

关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)

如果您需要此功能,请使用mysqli(带mysqli_multi_query)。