遵循CodeIgniter教程并收到致命错误

时间:2013-09-21 20:56:17

标签: php codeigniter

我正在关注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; 
    }
  }
}

3 个答案:

答案 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:我建议您在每个页面中都需要自动加载库(数据库对象通常是其中之一)或者至少在构造函数中加载。