我对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可能会超时吗?
答案 0 :(得分:2)
错误可能是由于查询(以及生成的result()
对象)为空。在尝试使用result()
对象之前,请确保查询实际返回至少一条记录:
if($query->num_rows() > 0){
return $query->result();
}
答案 1 :(得分:1)
通常是因为您的查询错误。请记住,result()
是布尔值,如果没有回来,则会发生致命错误,因为在SQL Server中返回错误