我正在关注CodeIgniter的视频教程,我的代码与教程完全一样,但是我收到以下错误:
Fatal error: Call to a member function get() on a non-object /public_html/application/models/site_model.php on line 7
有没有人看到我在下面的代码中做错了什么?
这是第7行
$q = $this->db->get('test');
这是页面的完整代码
class Site_model extends CI_Model {
function getALL () {
$q = $this->db->get('test');
if($q->num_row() > 0) {
foreach ($q->result() as $row) {
$data[] = $row;
}
return $data;
}
}
}
答案 0 :(得分:1)
转到application / config / autoload.php中的autoload.php并添加此
$autoload['libraries'] = array('database'); // add database in array
答案 1 :(得分:0)
在CodeIgniter中,您使用“$ q-> num_rows()”将其设为“$ q-> num_rows()”
如下线改变
if($q->num_rows() > 0) {
答案 2 :(得分:0)
在使用数据库对象之前,必须通过添加:
来加载它$this->load->database();
因此,在更改之后,它类似于:
function getALL () {
$this->load->database();
$q = $this->db->get('test');
PS:我建议您在每个页面中都需要自动加载库(数据库对象通常是其中之一)或者至少在构造函数中加载。