2016-04-04 17 views
2

'da 2053 hatası oluşuyor İlk olarak ortamım LAMP (MariaDB için M dur).SQLSTATE [HY000]: Genel hata: Laravel

Tüm hatadır: modelinde

SQLSTATE[HY000]: General error: 2053 (SQL: UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = '27') 

kodu nedir söylemek istediğim bu kod benim yerel iyi çalışır olduğunu

protected function IncreaseHit($id) { 
    DB::select('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = \''.$id.'\''); 
} 

olduğunu. (Mahalli çevre MAMP budur.)

Ve denetleyicisi de modeli yöntemiyle yukarıdaki aramalar kodu yanlış olanı bulamıyor

if(Cookie::get('My_Cookie_'.$id) != 'On'){ 
    Demos::IncreaseHit($id); 
    Cookie::queue(Cookie::make('CS_View_'.$id, 'On',2160000)); 
}//Cookie Check 

... bana bu hatayı düzeltmek nasıl bildirin olduğunu.

+0

Öncelikle DB :: raw(), ikincisi - DB :: select() öğesini yalnızca veri seçmek için kullanmalısınız – mcklayin

+0

Yorumunuz için teşekkür ederiz. Sonra ne Eloquent ORM olmadan kendi DB sorgu yapmak istiyorum? – HyeonJunOh

cevap

2

Kullanım DB::update(): getirmesi şey yokken

DB::update('UPDATE Demos SET Hit = ifnull(Hit,0) + 1 WHERE id = ?', [$id]); 

Ayrıca, bu hata üretilir. DB::select() ile bu şekilde bir şey döndürmeyen bir ifadeden bir şey almaya çalışıyorsunuz.

Dokümanlar: https://laravel.com/docs/5.2/database#running-queries

+0

Vay, Benim için çalışıyor! Teşekkür ederim!!! – HyeonJunOh

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

yardımcı olur Umut.

İlgili konular