首先,我的环境是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
我找不到问题所在...请让我知道如何修复此错误。
Use DB::update()
:
DB::update('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = ?', [$id]);
当没有任何内容可获取时也会产生此错误。这样与DB::select()
您试图从不返回任何内容的语句中获取某些内容。
Docs: https://laravel.com/docs/5.2/database#running-queries https://laravel.com/docs/5.2/database#running-queries
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)