代码点火器访问结果集


codeigniter access the result set

我是codeigniter的新手,有以下代码:

    $userAuthenticated = $this->Membership_model->userLogin($email, $pass);

在模型中,以下是方法:

function userLogin($email, $password)
    {
        $this->db->select('*');
        $this->db->from('members');
        $this->db->where('email', $email);
        $this->db->where('password', $password);
        $query = $this->db->get();
        return $query->result();
    }

我在访问上面显示的$userAuthenticated时遇到问题。它包含尝试登录的用户的详细信息。如何访问属性?

问候,

替换此

  return $query->result();

这个:

  if ( $query->num_rows() == 1 ) { 
  return $query->row(); }
  else { return FALSE; }

更换这个

 $userAuthenticated = $this->Membership_model->userLogin($email, $pass);

用这个

  // check negative condition first
  if( !  $data['userAuthenticated'] = $this->Membership_model->userLogin($email, $pass) ){
  // show no results view 
  $this->load->view( 'wedontknowyouatall', $data );
  } 
  else {
  // we have a result back
  // and we have already passed userAuthenticated into $data 
  // now show result view 
  $this->load->view( 'mysweetviewpage', $data );
 } 

在视图页面中,您现在可以访问所有数据库字段,如

  echo $userAuthenticated->email ; 
return $query->row();
if($userAuthenticated ){
login true
}else{
login false
}

我会检查查询选择的行数,如下所示:

if($userAuthenticated->num_rows() > 0){
     login
}else{
    not login
}

否则,您必须执行循环以获得选定的数据:

foreach($userAuthenticated as $user){
    echo $user->[variable];
}

只需使用

$userAuthenticated->firstname;$userAuthenticated->email;$userAuthenticated->pass;

等等。