3

对于我的生活,我无法让这个插入查询工作。

mysql_connect("**host**", "**username**", "**password**") or error("Could not connect: ".mysql_error());
mysql_select_db("**db_name**");
$db = mysql_query("INSERT INTO `pass_reset` (id,status,key,email) VALUES ('','0','$key','$email')");

它返回此错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'key,email) VALUES ('','0','','')' 附近使用正确的语法

有人可以帮我解决这个问题吗?对于这个简单的查询,我简直是在抓狂。

4

4 回答 4

9

尝试以下操作:

$db = mysql_query("INSERT INTO `pass_reset` (id,status,`key`,email) VALUES ('','0','$key','$email')");

因为keyMySQL 的保留字,所以必须用反引号 `` 转义它

于 2011-07-15T21:45:41.273 回答
3

KEY是 MySQL 中的保留字,因此您必须使用反引号将其转义。

于 2011-07-15T21:47:37.283 回答
0

也许尝试用重音将列名括起来?

(`id`,`status`,`key`,`email`)
于 2011-07-15T21:46:38.750 回答
-1

不要将php变量放在''中,它肯定会工作的人

$db = mysql_query("INSERT INTO `pass_reset` (id,status,key,email) VALUES ('','0',$key,$email)");

或者

 $db = mysql_query("INSERT INTO `pass_reset` (id,status,key,email) VALUES ('0',$key,$email)");
于 2011-07-15T21:49:14.640 回答