使用CodeIgniter调用成员函数result()

时间:2012-02-28 22:13:32

标签: php mysql codeigniter

我对mysql和codeigniter有一个奇怪的问题。我收到以下错误消息:

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 个答案:

答案 0 :(得分:2)

错误可能是由于查询(以及生成的result()对象)为空。在尝试使用result()对象之前,请确保查询实际返回至少一条记录:

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

答案 1 :(得分:1)

通常是因为您的查询错误。请记住,result()是布尔值,如果没有回来,则会发生致命错误,因为在SQL Server中返回错误