2014-03-24 89 views
2

我似乎無法弄清楚這段代碼有什麼問題。感謝你的幫助。 我收到錯誤消息:試圖獲取非對象/ Php codeigniter的屬性

A PHP Error was encountered 

Severity: Notice 

Message: Trying to get property of non-object 

Filename: views/members.php 

Line Number: 24 

我的模型:

public function show_user() 
{ 
    $this->db->select(''); 
    $this->db->from('users'); 
    $this->db->where('email',$this->input->post('email')); 

    $q=$this->db->get(''); 

    if($q->num_rows() > 0) 
    { 
     $data = array(); 

     foreach($q->result() as $row) 
     { 
      $data=$row; 
     } 

     return $data; 
    } 
} 

我的控制器:

public function members() 
{ 
    if ($this->session->userdata('is_logged_in')) 
    { 
     $this->load->model('model_users'); 
     $data['member'] = $this->model_users->show_user(); 
     $this->load->view('members', $data); 
    } 
    else 
    { 
     redirect('main/restricted'); 
    } 
} 

我的觀點:

echo "<p> Congratulations you are logged in!!</p>"; 
foreach($member as $row) 
{ 
    echo $row->Name. "<br/>"; 
    echo $row->email. "<br/>"; 
} 

所以這是我的代碼。我想顯示來自數據庫的用戶信息,但我收到錯誤。請幫助我..

回答

0

您只需要返回$q-result();

if($q->num_rows() > 0) 
{ 
    return $q-result(); 
} 
+0

謝謝我的錯誤已解決,但我沒有得到我期望的輸出。我只需要那個剛剛登錄的用戶的電子郵件和名稱,而我得到了數據庫用戶的所有姓名和電子郵件的輸出....你能幫我嗎? – Sushmita

+0

@Sushmita,在您的查詢中,您將獲得所有擁有您所管理的電子郵件地址的用戶將返回 – Shin

0

我不知道你的數據庫是什麼樣子,但我懷疑這是因爲無論是Nameemail性質不上存在$row對象。您確定您的users表中的字段名爲Name或者是name(小寫)嗎?如果它的小寫字母應該是。

foreach($member as $row) 
{ 
    echo $row->name. "<br/>"; //Changed this line 
    echo $row->email. "<br/>"; 
} 

而且你foreach循環在你的模型是一個有點毫無意義。你可能會刪除它,只是做

return $data->row; 
相關問題