0

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

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Blog::$db

Filename: controllers/blog.php

控制器/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;
    }
}

博客模型.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;
    }
}

希望您能够帮助我。谢谢。

4

1 回答 1

1

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

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

application/config/autoload.php

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

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

至于您的字符串问题- get_article_list() 正在返回一个对象。您可以使用$articles->result()来遍历结果,或使用类似$articles->num_rows()查看有多少结果等。

因此,在您回显 $articles 的地方,您可能打算回显如下内容:

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

Where$article->title显然被您文章表中的实际字段替换。

于 2013-11-07T02:54:47.817 回答