2012-08-09 2 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() 다른 사이트에서 내 사이트를 사용하고 완벽하게 작동합니다. 나는 또한 $this->uri->segment(3) 대신 게시물의 ID를 연결하려고 시도했는데 같은 문제가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

result()은 db에서 둘 이상의 행을 선택할 때 사용해야하며 대신 row()을 사용하십시오. 컨트롤러 사용

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

에서

그리고

$query->body 

보기

에 난 강력하게 당신이 $data['post']$post->body 대신 $query->body 사용하도록 권하고. 한 페이지에서 더 많은 쿼리를 수행하면보기가 엉망이됩니다.

+0

감사합니다. 완벽하게 작동합니다. 나도 너의 제안을 사용하고있다. – user1024742