0

我写了这段代码:

mysql_query("INSERT INTO test (user_id, word_id, right) VALUES ('6', '23', '5' )") or die(mysql_error()); 

但是有错误信息提示:

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

我做错了什么?

4

4 回答 4

4

right是一个保留字,像这样转义它:

INSERT INTO test (user_id, word_id, `right`) VALUES ('6', '23', '5' )

请注意:1

不鼓励使用此扩展(mysql_query)。相反, 应该使用MySQLiPDO_MySQL扩展。另请参阅MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。此功能的替代方案包括:

mysqli_query()
PDO::query()

1:引用自PHP 手册:mysql_query

于 2012-12-10T11:17:01.240 回答
2

right是保留关键字9.3. Reserved Words当我们使用保留关键字时,我们需要对其进行转义尝试

mysql_query("INSERT INTO test (user_id, word_id, `right`) VALUES ('6', '23', '5' )") or die(mysql_error()); 

在此处输入图像描述

于 2012-12-10T11:17:18.937 回答
0

试试这个 :::RIGHT是已知关键字,试试反引号

INSERT INTO test (`user_id`, `word_id`, `right`) VALUES ('6', '23', '5' )
于 2012-12-10T11:18:23.743 回答
0
INSERT INTO `test` (`user_id`, `word_id`, `right`) VALUES ('6', '23', '5' )
于 2012-12-10T11:38:12.677 回答