我一直收到这个错误:
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
,我的更新查询就可以了。
我真的很困惑。
答案 0 :(得分:-1)
好的,我想我已经明白了,我认为不允许列show
。我猜show
是某种保留关键字。我已将列更改为showw,它的工作方式很好。
感谢帮助人员
添加了: https://dev.mysql.com/doc/refman/5.7/en/keywords.html
Yep SHOW是关键字!