我有2个脚本可以将我网站上的内容记录到mysql数据库中。它们都在同一台服务器上使用相同的数据库,唯一的区别是表。我用来插入值的代码如下所示:
INSERT INTO table(full_name, email_address, phone_number, message, ip_address, agent)
VALUES ('$fn', '$email', '$telephone', '$comments', '$ip', '$agent')
有谁能告诉我为什么一个脚本会起作用而另一个脚本不起作用?
答案 0 :(得分:3)
错误几乎总是恰好出现在错误消息中'
开始的位置。看起来你正在插入一个名为log
的表,虽然我不认为它是一个保留的MySQL关键字,你可以尝试用反引号引用表名并在左括号前加一个空格:
INSERT INTO `log` (tm, ref, agent, ip, page) VALUES (....);
UPDATE LOG()
不是关键字,但它是MySQL数字函数。由于你在括号旁边使用它,MySQL可能会将其解释为错误的函数调用。 http://dev.mysql.com/doc/refman/5.0/en/numeric-functions.html
答案 1 :(得分:0)
尝试使用mysql_error()
检查错误。
mysql_query("INSERT INTO table(
full_name, email_address, phone_number, message, ip_address, agent)
VALUES ('$fn', '$email', '$telephone', '$comments', '$ip', '$agent')")
or die(mysql_error());