2016-04-04 21 views
2

まず、私の環境はLAMPです(MはMariaDBを表します)。SQLSTATE [HY000]:一般エラー:Laravelで2053エラーが発生します

全体の誤差がある:モデルで

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 

です。

+0

最初に、DB :: raw()を使用する必要があります。データを選択するためにDB :: select()を知っています。 – mcklayin

+0

ありがとうございます。では、ORMなしで自分のDBクエリを作成したいのですが? – HyeonJunOh

答えて

2

使用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

+0

うわー、それは私のために働く!ありがとうございました!!! – HyeonJunOh

0
DB::connection('my_conn')->update('UPDATE asterisk.chan_line SET sms_balance = (sms_balance-1) where id = ? ', [$value->id]); 

それがお役に立てば幸いです。

関連する問題