1

我有这个问题,在我的网站上我尝试在个人资料页面上发表评论,但是当我点击提交时,它说

You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near 'to, msg, author,time)
VALUES ('52', Test','Sakaio911', NOW())' at line 1

我所做的只是将评论插入到数据库中,您可以看到哪些列。是导致它的 NOW() 吗,因为我不知道我做错了什么。

4

5 回答 5

6

错误消息将您指向“to”列名。根据文档,该名称被保留为关键字。您可能想要重命名该 col,或者您必须做一些体操才能使用该表。

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

于 2012-07-23T14:48:37.493 回答
1

当您不想重命名列名时,必须在上下文中通过`对其进行转义

 ... `to`, msg, author, time) VALUES ('52', 'Test','Sakaio911', NOW())
于 2012-07-23T14:54:22.333 回答
0

确保你有一个分号用于 sql 查询和 php 代码行本身。一个分号在 " " 标记内,另一个分号在外面以终止代码行。

于 2012-07-23T14:49:52.220 回答
0

用反引号包裹字段名称......例如`to`,`msg`等。这应该可以解决该特定问题。

于 2012-07-23T14:50:44.800 回答
0

('52', 测试','Sakaio911', NOW())'

insert 语句使用逗号作为字段名称及其值的分隔符。您似乎在'52'Test'之间遗漏了一些东西。您是在Test'之前缩短单引号还是应该像这样将整个字符串放在双引号中?“这个”

于 2012-07-23T14:54:20.983 回答