更新1字段上的查询错误SQLSTATE [42000]

时间:2016-03-08 07:41:55

标签: php mysql sql

我一直收到这个错误:

  

SQLSTATE [42000]:语法错误或访问冲突:1064您有   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本的正确语法使用在' show =' 1'   WHERE(所有者= 1 AND id = 63)'在第1行

我的查询一直在列show上崩溃,我无法弄清楚原因。

这就是我尝试更新此列的方式:

$show = (escape(Input::get('showcontact')) == '') ? 0 : 1;

$property->update(array(
                                'propertytype' => escape(Input::get('type')),
                                'address' => escape(Input::get('address')),
                                'postalcode' => escape(Input::get('postal')),
                                'sqf' => escape(Input::get('sqf')),
                                'price' => escape(Input::get('price')),
                                'deposit' => escape(Input::get('deposit')),
                                'description' => escape(Input::get('description')),
                                'listed' => escape(Input::get('list')),
                                'email' => escape(Input::get('email')),
                                'show' => $show,
                                'phone' => escape(Input::get('phone'))
                            ));

列显示的类型为smallint。我可以插入正常,我只是无法更新该列。如果我注释掉show,我的更新查询就可以了。

我真的很困惑。

1 个答案:

答案 0 :(得分:-1)

好的,我想我已经明白了,我认为不允许列show。我猜show是某种保留关键字。我已将列更改为showw,它的工作方式很好。

感谢帮助人员

添加了: https://dev.mysql.com/doc/refman/5.7/en/keywords.html

Yep SHOW是关键字!