0

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

3 回答 3

1

转到 application/config/autoload.php 中的 autoload.php 并添加这个

$autoload['libraries'] = array('database'); // add database in array
于 2013-09-21T21:09:01.137 回答
0

在使用数据库对象之前,您必须通过添加以下内容来加载它:

$this->load->database();

因此,在更改之后,它类似于:

function getALL () {
    $this->load->database();
    $q = $this->db->get('test');

PS:我建议在每个页面中自动加载您需要的库(数据库对象通常是其中之一)或至少在构造函数中加载。

于 2013-09-21T21:09:03.747 回答
0

在 CodeIgnitor 中,您使用 "$q->num_row()" 将其变为 "$q->num_rows()"

更改如下行

if($q->num_rows() > 0) {
于 2013-09-21T21:06:46.450 回答