2012-02-28 2 views
1

mysql과 codeigniter에서 이상한 문제가 있습니다. 나는 다음과 같은 오류 메시지가 점점 오전 :CodeIgniter를 사용하여 member 함수 result()를 호출하십시오.

Fatal error: Call to a member function result() on a non-object in 

컨트롤러 :

class Event extends Client_Controller 
{ 
    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('Event_Model', '', TRUE); 
    } 

    function pending() 
    { 
     $data['query'] = $this->Event_Model->get_events_list("pending"); 
     $this->load->view('event/pending', $data); 
    } 

} 

모델 :

class Event_Model extends Client_Model 
{ 
    function __construct() 
    { 
     parent::__construct(); 
    } 

    function get_events_list($event_status = '') 
    { 
     $query = $this->db->query("SELECT * FROM tbl_events WHERE event_status= ? ORDER BY event_id DESC", array($event_status)); 

     return $query->result();// Error is on this line 
    } 
} 

자동로드 : 어떤 도움에 감사드립니다

$autoload['libraries'] = array('database', 'session'); 

. 나는 내 mysql이 시간 초과 될지도 모르는 의심이있다?

답변

2

오류는 쿼리 (결과적으로 result() 개체)가 비어 있기 때문에 발생했을 가능성이 큽니다. 쿼리가 실제로 result() 개체를 사용하기 전에 적어도 하나 개의 레코드를 반환 확인 :

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

하지 대답을하지만 끝이 ... 사용 ... 두 가지를 피해야한다'*'등의 많은 리소스를 많이 SELECT 가능한 모든 시간에 활성 레코드를 사용해야합니다. http://codeigniter.com/user_guide/database/active_record.html – gorelative

+1

나는 이것을 시도했습니다. 치명적인 오류 : 비 객체의 멤버 함수 num_rows()를 호출합니다. 드라이버 또는 데이터베이스 레벨에 있다고 생각합니다. 여기 * 코드를 사용하고 있습니다. – greenLizard

+0

@animatora : 데이터베이스 연결 및 구성 정보를 확인해야합니다. –

관련 문제