0

我的应用程序中有一个名为 admin 的表,我使用下面的代码根据提交的电子邮件和密码选择记录。我收到 first_name、last_name 和 admin_role 的“未定义属性 stdclass”错误。我已经检查了三次,这些是我表中列的名称。我究竟做错了什么?我正在自动加载数据库和会话库。可以在模型中设置会话数据吗?

型号代码:

public function can_sign_in() {
    $this->db->select('admin_id', 'first_name', 'last_name', 'admin_role');
    $this->db->where('admin_email', $this->input->post('admin_email'));
    $this->db->where('admin_password', md5($this->input->post('admin_password')));
    $query = $this->db->get('admin');

    if($query->num_rows() == 1) {
        foreach ($query->result() as $row) {
            $admin[] = array(
                'admin_id' => $row->admin_id,
                'first_name' => $row->first_name,
                'last_name' => $row->last_name,
                'admin_role' => $row->admin_role
            );
          $this->session->set_userdata($admin);
       }
        return true;
    } else {
        return false;
    }
}
4

1 回答 1

4
 $this->db->select('admin_id', 'first_name', 'last_name', 'admin_role');

select只需要2个参数。带有要选择的字段的字符串,以及一个布尔值,表示它是否应该用反引号转义字符串。

您正在传递 4 个参数。您只想传递一个,一个带有逗号分隔字段的字符串:

 $this->db->select('admin_id, first_name, last_name, admin_role');
于 2012-11-15T14:39:32.023 回答