Php 模型类中的CodeIgniter数据库调用

Php 模型类中的CodeIgniter数据库调用,php,database,codeigniter,model,fatal-error,Php,Database,Codeigniter,Model,Fatal Error,我一直在到处寻找这个问题!但没有什么真正有助于解决这个问题 我总是遇到以下错误: “致命错误:对非对象调用成员函数query()” 我有以下控制器: <?php class Station extends CI_Controller { function __construct($params=array()) { parent::__construct(); session_start(); $this->load-&g

我一直在到处寻找这个问题!但没有什么真正有助于解决这个问题

我总是遇到以下错误: “致命错误:对非对象调用成员函数query()”

我有以下控制器:

<?php
class Station extends CI_Controller {

    function __construct($params=array()) {
        parent::__construct();

        session_start();

        $this->load->library('parser');
        $this->load->helper(array('form', 'url'));
    }

    public function index() {
        $this->tpl_data['location'] = $this->stationmodel->getLocations()->all;
        $_SESSION['location'] = $this->tpl_data['location'];


        $this->load->view('station', $this->tpl_data);
    }
}
另外,当我尝试直接在控制器中加载数据库模块时,我将得到相同的错误

My database.php:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '****';
$db['default']['database'] = 'comvel';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
有人能帮我吗


提前谢谢

在控制器中,尝试从
函数结构($params=array())中删除
$params=array()


我还将从您的模型中删除
\uu construct(){}
,因为它不会做任何事情,可能会给您带来麻烦。

这是一个奇怪的问题。看起来你做的一切都对


您是否尝试过完全删除构造函数?我的猜测是,您的构造函数以某种方式阻止使用
db
对象初始化您的模型。如果您需要运行一些初始化代码,可能更适合使用,例如
pre\u controller
hook.

以及什么返回var\u转储?您是否检查了数据库设置?var\u转储不返回任何内容,因为它在var\u转储之前就已死亡。数据库设置已检查并没有问题:-/您希望查询获取单个或多个结果(如果是单个的话),然后使用$query->row()我需要多个结果。但我的问题是,行$query=$this->db->query(“SELECT*FROM location WHERE City\u IATA='MUC');创建错误“致命错误:对非对象调用成员函数query()”,感谢您的提示!我更改了控制器中的_构造,并从模型中删除了_构造。但一切都没有改变。仍在接收错误。请在
$this->db->query()
行之前尝试var dump
$this->db
。var\u dump($this->db)返回null。所以数据库没有初始化。但是数据库模块在config/autload.php中设置,config/database.php中的参数也可以。我还需要设置什么吗?
$autoload['libraries'] = array('database');
$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '****';
$db['default']['database'] = 'comvel';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;