Hye*_*nOh 4 php mariadb laravel
首先,我的环境是LAMP(M代表MariaDB).
整个错误是:
SQLSTATE[HY000]: General error: 2053 (SQL: UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = '27')
Run Code Online (Sandbox Code Playgroud)
模型中的代码是
protected function IncreaseHit($id) {
DB::select('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = \''.$id.'\'');
}
Run Code Online (Sandbox Code Playgroud)
我想说的是这段代码在我当地很有效.(当地环境是MAMP.)
并且在控制器上调用上述模型方法的代码是
if(Cookie::get('My_Cookie_'.$id) != 'On'){
Demos::IncreaseHit($id);
Cookie::queue(Cookie::make('CS_View_'.$id, 'On',2160000));
}//Cookie Check
Run Code Online (Sandbox Code Playgroud)
我找不到有什么问题...请让我知道如何解决这个错误.
用途DB::update():
DB::update('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = ?', [$id]);
Run Code Online (Sandbox Code Playgroud)
当没有任何东西可以获取时,也会产生这个错误.这样DB::select()你就试图从一个不返回任何内容的语句中获取内容.
文档:https://laravel.com/docs/5.2/database#running-queries
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |