2016-01-13 107 views
1

好吧,一個PDO的代碼,當我運行我的本地運行完美,但是當我 運行在我的主機不工作,並給我一個錯誤是Laravel - PDO - 更新

QueryException在Connection.php線651 : SQLSTATE [HY000]:常規錯誤:2053(SQL:更新角色SET member_id = 76446,member_role = 5613 WHERE member_id = 76446)

代碼

if (!empty($member->id)) { 



     $new_id = $member->id; 

     $new_p = $member->p_id; 

     $sql = "UPDATE roles SET member_id=$new_id,member_role=$new_p WHERE member_id=$new_id"; 

     $member = DB::select($sql); 

     Session::flash('sm', 'Thank you! You have edited the Profile successfully!'); 

    } 

我感謝幫助!

+0

connection.php是laravel系統。 – Fadee

+0

這一切都是正確的,如果這是不正確的網站沒有連接到數據庫,並沒有工作。 – Fadee

+0

Laravel對'UPDATE/INSERT'查詢是否真的使用'select()'方法?看起來像[這是首選的,記錄在案的方法](https://laravel.com/docs/4.2/queries#updates) –

回答

0

Laravel有內置的query builder 所以你的代碼應該看起來像 -

if (!empty($member->id)) { 

     $new_id = $member->id; 

     $new_p = $member->p_id; 

     DB::table('roles')->where('member_id', $new_id)->update(['member_role' => $new_p]); 

     Session::flash('sm', 'Thank you! You have edited the Profile successfully!'); 

    } 

我刪除了member_id=$new_id因爲你已經檢查了這部分的where條款

+0

太棒了,謝謝,幫助我! – Fadee