2012-08-09 83 views
1
$this->db->from('posts'); 
$this->db->where('id',$this->uri->segment(3)); 
$data['query'] = $this->db->get(); 

我試圖用where語句獲得一個帖子。我運行這段代碼時沒有遇到任何錯誤。但在我看來,當我試圖讓$query->result()->body PHP給我一個錯誤Trying to get property of non-object.於是我就print_r($query),這是它給了我:

(
    [conn_id] => Resource id #27 
    [result_id] => Resource id #32 
    [result_array] => Array 
     (
     ) 

    [result_object] => Array 
     (
     ) 

    [custom_result_object] => Array 
     (
     ) 

    [current_row] => 0 
    [num_rows] => 0 
    [row_data] => 
) 

我不知道爲什麼它不會從一開始我的具體職位數據庫。我知道我的數據庫處於工作狀態。我在我的網站的其他地方使用它。我也在我的網站上的其他地方使用$this->db->where(),它的工作原理非常完美。我也嘗試插入ID的帖子,而不是$this->uri->segment(3),我也遇到同樣的問題。我究竟做錯了什麼?

回答

2

result()應該在從db中選擇多於1行時使用,請使用row()來代替。

在控制器使用

$data['query'] = $this->db->get()->row(); 

然後在視圖

$query->body 

我強烈reccomend你使用$data['post']$post->body而不是$query->body。當你在一個頁面上有更多的查詢時,你的視圖會變得混亂。

+0

謝謝,作品完美!我也在使用你的建議。 – user1024742 2012-08-09 20:20:09