我有一个MySQL数据库,我正在尝试使用以下命令执行更新或删除命令:
$query = "UPDATE db SET this='$_POST[f_that]',this2='$_POST[f_that2]' WHERE index='$_POST[f_index]'";
每次都会返回语法错误,说明问题接近index='#'
。信息来自一个表,其中输入字段与设置到数据库的值内联(内联编辑)。以这种方式输出form_index
。在我的数据库中,index
是主键并自动递增。
我print_r()
$_POST
和$query
以确保form_index
是一个数字(以及正确的数字),就是这样。
是否有一些规则我不能完全引用主键?
答案 0 :(得分:3)
index
是mysql中的保留字,你不能直接将它用作列名,你必须在列名周围使用`
来使用这些保留字。
$query = "UPDATE db SET `this`='$_POST[f_that]',`this2`='$_POST[f_that2]'
WHERE `index`='$_POST[f_index]'";
答案 1 :(得分:0)
index
是保留字,您应该更改它或使用下面的背贴
`index`
答案 2 :(得分:0)
更改index
的列名称。它在您的查询中被视为关键字。