首先,我的环境是LAMP(M代表MariaDB).
整个错误是:
sqlSTATE[HY000]: General error: 2053 (sql: UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = '27')
模型中的代码是
protected function IncreaseHit($id) {
DB::select('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = \''.$id.'\'');
}
我想说的是这段代码在我当地很有效. (当地环境是MAMP.)
if(Cookie::get('My_Cookie_'.$id) != 'On'){
Demos::IncreaseHit($id);
Cookie::queue(Cookie::make('CS_View_'.$id, 'On',2160000));
}//Cookie Check
解决方法:
使用DB :: update():
DB::update('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = ?', [$id]);
当没有任何东西可以获取时,也会产生这个错误.这种方式使用DB :: select(),你试图从一个不返回任何东西的语句中获取东西.
文件:https://laravel.com/docs/5.2/database#running-queries
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。