php - 通过 AJAX 进行 SQL 更新查询的语法问题

标签 php mysql sql ajax

几个小时以来,我一直在用头撞墙,做一些我认为非常基本的事情。

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

$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(整数)

最佳答案

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

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

关于php - 通过 AJAX 进行 SQL 更新查询的语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18675206/

相关文章:

mysql - 在 phpmyadmin 服务器类型 : MariaDB 上查找重复记录

php - 确定 PHP 中是否存在数组键有什么更快更好的方法?

php - 具有不同 ID 的多个动态表单的 AJAX 查询

php - 使用自定义字段在 PHP 中添加换行符

php - 简单的网络通用本地化/翻译后端(使用 mysql)?

mysql - 如何为语句 SELECT COUNT(*) as num... 编写子句 : WHERE num =. ..?

java - 带有可能的单引号的 ExecuteUpdate

php - PHP 中按 header 动态排序

mysql - Galera集群中某一节点无法启动mariadb

mysql - 添加与主 ID 键链接的其他表中的名称