CodeIgniter未定义属性错误

时间:2012-11-15 14:36:29

标签: codeigniter session

我的应用程序中有一个名为admin的表,我正在使用下面的代码根据提交的电子邮件和密码选择记录。我为first_name,last_name和admin_role收到“undefined property 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;
    }
}

1 个答案:

答案 0 :(得分: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');
相关问题