更多PHP mySQL INSERT乐趣

时间:2011-02-05 19:23:49

标签: php mysql

mysql_query("INSERT INTO dictionary ('word', 'definition') VALUES ('".$word."','".$definition."');")

这只是不会执行,当我echo时 - 我明白了:

INSERT INTO dictionary ('word', 'definition') VALUES ('monkey','monkey');

所以,如果我把mysql_error()放到我身上,那么这些价值就会被正确地带入其中:

  

您的SQL语法有错误;   检查对应的手册   您的MySQL服务器版本   正确的语法在''word'附近使用,   '定义'价值观   ('猴子','猴子')'在第1行

有什么想法吗?我很难过。

7 个答案:

答案 0 :(得分:6)

您需要为字段名称使用反引号:

INSERT INTO dictionary (`word`, `definition`)

(当然,根本没有引号。但它是better to have them。)

答案 1 :(得分:0)

是的,从列定义中删除引号。您只需要在插入的字符串周围使用它们。

答案 2 :(得分:0)

引用INSERT的列名时,你应该使用反引号(`)而不是单引号。 (单引号告诉MySQL这些值是字符串而不是列引用)。

删除单引号或使用反引号,问题应自行解决。

答案 3 :(得分:0)

将单词和词典的单引号更改为反引号:

INSERT INTO dictionary (`word`, `definition`) VALUES ('monkey','monkey');

答案 4 :(得分:0)

正确的方法:

mysql_query("INSERT INTO `dictionary` (`word`, `definition`) VALUES ('".$word."','".$definition."');")

将以此输出:

INSERT INTO `dictionary` (`word`, `definition`) VALUES ('monkey','monkey');

答案 5 :(得分:0)

mysql_query("INSERT INTO dictionary (`word`, `definition`) VALUES ('".$word."','".$definition."');")

注意撇号。字段名称应该不使用撇号,或使用此处显示的那些。

答案 6 :(得分:0)

如果这不起作用:

mysql_query("INSERT INTO dictionary (word,definition) VALUES ('".$word."','".$definition."')");

然后你有字段名称的问题...在表格中检查你的名字......或者你错过了什么!你的桌子是什么样的?