无法查询未定义的属性

时间:2013-11-07 02:22:19

标签: php codeigniter

我是CI的新手。只是想知道我哪里出错了。似乎我无法连接到我的数据库。所以我尝试在控制器中加载数据库,只是为了看它是否可以连接,我可以进行查询。我确实配置了database.php并设置了所有内容。但它显示为此。

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Blog::$db

Filename: controllers/blog.php

contollers / blog.php的

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Blog extends CI_Controller {

    public function index() {
        $this->load->model("blogmodel");
        $articles = $this->blogmodel->get_articles_list();

        echo $articles;
    }
}

blogmodel.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Blogmodel extends CI_Model {

    function get_articles_list() {
        $list = $this->db->query("SELECT * FROM foo");
        return $list;
    }
}
希望你能帮助我。感谢。

1 个答案:

答案 0 :(得分:1)

所以你有一个接受的答案:

最初的问题是您没有自动加载数据库库。在这个文件中:

application/config/autoload.php

您可以将数据库添加到列表中:

$autoload['libraries'] = array('database');

至于你的字符串问题 - get_article_list()返回一个对象。您可以使用$articles->result()来迭代搜索结果,或使用$articles->num_rows()之类的内容查看结果有多少等等。

所以你回应$文章的地方,你可能想要回应这样的事情:

foreach($articles->result() AS $article)
{
    echo $article->title . "<br>";
}

$article->title显然会替换为文章表中的实际字段。