我的应用程序中有一个名为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;
}
}
答案 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');