2016-01-13 93 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