我真的把头发拉出来了。我在我的自建 php 应用程序上有一个简单的评论部分,如果我捕获 $_GET 参数,我只想添加一个新行。但无论我如何构建 MySQL 插入请求,我都会收到错误消息。
这是我到目前为止所拥有的:
if(isset($_GET['r'])){
$replyid = mysql_real_escape_string($_GET['r']);
$sentnow = date("Y-m-d H:i:s");
mysql_query("INSERT INTO eis_inbox (messageid, toid, from, contact, seen, message, date) VALUES (NULL, '".$replyid."', 'TESTUSER', 'CONTACTINFO', '0', 'MESSAGE', '".$sentnow."'") or die(mysql_error());
echo '<meta http-equiv="refresh" content="0;/messages">';
}
我的 MySQL 数据库字段的名称完全相同:messageid (auto_increment)、tid(int11)、from(varchar255)、contact(varchar255)、seen(int3)、message(text) 和 date(timestamp/CURRENT_TIMESTAMP)。
如我所见,使用“index.php?r=777”执行上述页面应该用新行填充我的 MySQL:
messageid = (AUTO_INCREMENT)
toid = 777
from = TESTUSER
contact = CONTACTINFO
seen = 0
message = MESSAGE
date = 2013-01-17 11:50:01
相反,我收到以下错误:
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 'from, contact, seen, message, date) VALUES (NULL, '1', 'TESTUSER', 'CONTACTINFO'' at line 1
与“error_reporting(E_ALL)”显示相同的错误。
我已经研究了好几天了,我就是找不到错误……也许我是盲人,错过了逗号或结束标签之类的东西。有任何想法吗?