在第1行'group ='1'WHERE id = 6'附近的MySQL语法错误

时间:2015-05-07 12:27:43

标签: php mysql

我有一个非常简单的任务我想要执行,当我以一种方式运行代码时,如果我以另一种方式运行它致命错误:未捕获异常'异常'......

作品

if (Input::get('userid')) {

    $user_id = Input::get('userid');

    $user->find($user_id);

    $name = $user->data()->first_name;


    if ($user->data()->active == 1) {

        $user->update(array(
            'active' => 0
        ));

        Session::flash('userboard', $name.' Deactivated');
        Redirect::to('admin.php');

    } else {

        $user->update(array(
            'active' => 1
        ));

        Session::flash('userboard', $name.' Activated');
        Redirect::to('admin.php');

    }

}

不起作用

if (Input::get('adminid')) {

    $user_id = Input::get('adminid');

    $user->find($user_id);

    $name = $user->data()->first_name;

    if ($user->data()->active == 1) {

        $user->update(array(
            'group' => 1
        ));

        Session::flash('userboard', $name.' Deactivated');
        Redirect::to('admin.php');

    } else {

        $user->update(array(
            'group' => 2
        ));

        Session::flash('userboard', $name.' Activated');
        Redirect::to('admin.php');

    }

}

无论我改变哪种方式我都无法更新群组。它们都是MySQL中的int(11)。我几乎想知道是否需要删除该列并重新添加它?如果有任何帮助,此组值用于设置用户权限。

PDO errorInfo

  

数组([0] => 42000 [1] => 1064 [2] =>您的错误   SQL语法;查看与MySQL服务器对应的手册   在'group ='1'WHERE id = 6'at附近使用正确语法的版本   第1行

1 个答案:

答案 0 :(得分:3)

您的框架或类不会在列中添加标记。 Group是MySQL中的保留关键字(可能是每个DBMS),因此必须使用反引号引用该列:`group`