通过 AJAX 的 SQL 更新查询与语法问题


SQL Update query via AJAX issue with Syntax

几个小时以来,我一直在用头撞墙,我认为这是非常基本的东西。

该查询旨在基于数组更新行 - 我觉得我不需要深入研究这里发生的事情,因为它非常简单。正在运行的查询如下所示:

$mysqli->query("UPDATE CMS SET 
order=" . intval($mysqli->real_escape_string($listingCounter)) . 
" WHERE id=" . intval($mysqli->real_escape_string($recordIDValue))) 
or die('Error, insert query failed :'.$mysqli->errno."
<br/> Error : '".$mysqli->error."'");

我玩过 intval 纯粹是因为我觉得这是一个格式错误——real_escape_string也是如此。但错误保持不变:

Error, insert query failed :1064
Error : '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 'order=1 WHERE id=6' at line 1'

我希望这是我错过的非常简单的事情,但我想不出这个问题。我正在运行 MYSQL 5.5 和 PHP 5.4 - 这个查询也在 AJAX 上运行 - 再次,不确定这应该有这种效果。

任何帮助将不胜感激,谢谢。

更新:

我的数据库表称为CMS,有问题的行是ID(整数)和顺序(整数)

问题是order是一个保留字。 用反引号括起来:

UPDATE CMS
    SET `order`=" . intval($mysqli->real_escape_string($listingCounter)) . "
    WHERE id=" . intval($mysqli->real_escape_string($recordIDValue))