2

我有一个 MySQL 数据库,我正在尝试使用以下命令执行更新或删除命令:

$query = "UPDATE db SET this='$_POST[f_that]',this2='$_POST[f_that2]' WHERE index='$_POST[f_index]'";

这每次都会返回一个语法错误,说问题就在附近index='#'。信息来自一个表,该表具有与设置到数据库的值内联的输入字段(内联编辑)。以这种form_index方式输出。在我的数据库中,index是主键和自动递增。

我有print_r()the$_POST和 the$query以确保它form_index是一个数字(以及正确的数字),它就是。

是否有一些我不能纯粹在主键上引用的规则?

4

3 回答 3

3

index是mysql中的保留字,不能直接作为列名使用,必须`在列名周围使用这种保留字。

$query = "UPDATE db SET `this`='$_POST[f_that]',`this2`='$_POST[f_that2]' 
WHERE `index`='$_POST[f_index]'";
于 2013-05-07T04:40:14.513 回答
0

更改 的列名index。它在您的查询中被视为关键字。

于 2013-05-07T04:42:13.180 回答
0

index是保留字,你应该改变它或像下面这样使用回棒

`index`
于 2013-05-07T04:40:22.047 回答