微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – SQLSTATE [HY000]:一般错误:Laravel发生2053错误

首先,我的环境是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] 举报,一经查实,本站将立刻删除。

相关推荐