PHP PDO MySQL语法错误1064

时间:2012-10-31 14:14:09

标签: php mysql pdo

将应用程序从本地计算机上载到开发服务器时遇到错误。我正在尝试将记录插入到本地工作的表中(WAMP,PHP 5.4.3,MySQL 5.5.24),但它在开发服务器上失败(IIS,PHP 5.3.2,MySQL 5.0.88)。

我的查询是:

$SQL="INSERT INTO log(`dev_id`,`website_id`,`time_entered`,`location`,`page`,`reason`,`backup_file`,`status`) VALUES('".$DevID."','".$WebsiteID."','".time()."','".$Location."','".$Page."','".$Reason."','".$BackupFile."','".$Status."')";

正如你所看到的那样,我已经回填了这些领域,因为我认为就是这样。我也引用了所有内容,因为我认为不带引号的数字导致了这个问题。我也把它变成了一个准备好的声明,并且得到了同样的错误:

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 'log(`dev_id`,`website_id`,`time_entered`,`location`,`page`,`reason`,`backup_file' at line 1

我四处寻找解决方案,似乎错误1064是一个棘手的问题。我认为它与软件版本的巨大差异有关。

1 个答案:

答案 0 :(得分:1)

保留关键字的表名也需要转义。

INSERT INTO `log` (...)

你所做的就是打电话给LOG功能。