MySQL Server version


MySQL Server version

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

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()导致的吗?因为我不知道自己做错了什么。

错误消息指向"to"列名。根据文件,该名称被保留为关键字。你可能想重命名那个col,或者你必须做一些体操才能使用那个表。

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

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

 ... `to`, msg, author, time) VALUES ('52', 'Test','Sakaio911', NOW())

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

用反勾号包装字段名称。。。例如"to"、"msg"等。这应该可以解决这个特定的问题。

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

insert语句使用逗号作为字段名称及其值的分隔符。您似乎在'52'测试'试'之前是否短了一个单引号,或者整个字符串应该像这样用双引号括起来"这个"