2013-08-23 82 views
0

我是新来的笨并有下面的代码:笨访问结果集

$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。它包含尝试登录的用户的详细信息。我如何访问属性?

问候,

+0

**我怎样才能访问属性**这意味着你想访问的信息驻留在这里? –

+0

您的查询应该只返回1条记录,因此您应该使用 - > row()而不是 - > result()。 – ahmad

回答

0

取代这个

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 ; 
+0

非常好,非常感谢您的支持 – spacemonkey

0
return $query->row(); 

if($userAuthenticated){ 
login true 
}else{ 
login false 
} 
0

我会检查由这样的查询选择的行数:获得选择

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

否则你必须做循环的数据:

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

只需使用

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

等等。