我是php的新用户。我正在尝试使用以下查询插入表:
$insert = "INSERT INTO forget (key,user_name) values('Abc','Xyz')";
mysql_query($insert)
echo mysql_error();
输出:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'key,user_name)值('abc','xyz')附近使用正确的语法
答案 0 :(得分:1)
MySQL有一些保留字会导致使用它们的查询失败。在这种情况下,它是key
。
您可以更改列名称(也称为"键"这就是失败的原因)或者您可以使用反引号来转义术语,如下所示:
$insert = "INSERT INTO forget (`key`,user_name) values('Abc','Xyz')";
答案 1 :(得分:0)
以下是mysql保留的单词列表,并且不能在查询中用作表或字段名称,除非使用后退标记进行转义。您可以将它们用作字段名称,但在查询时,必须使用" `"。
在您的情况下,key
是保留字。所以你必须使用后退滴答来逃避它。
以下是mysql保留字的列表:https://dev.mysql.com/doc/refman/5.5/en/reserved-words.html