Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter无法手动或自动加载数据库库;对非对象调用成员函数get()_Php_Mysql_Database_Phpmyadmin_Codeigniter 2 - Fatal编程技术网

Php CodeIgniter无法手动或自动加载数据库库;对非对象调用成员函数get()

Php CodeIgniter无法手动或自动加载数据库库;对非对象调用成员函数get(),php,mysql,database,phpmyadmin,codeigniter-2,Php,Mysql,Database,Phpmyadmin,Codeigniter 2,我无法在我的模型或autoload.php中手动正确加载数据库库 行$query=$this->db->get('videos');针对指示未加载数据库库的非对象错误生成对成员函数get()的调用 我尝试使用下面模型的构造函数中注释掉的两行来加载数据库库,但这两行都返回错误。如果我取消对$this->load->database的注释,我将得到一个对非对象错误的成员函数database()的调用 如果我取消对$this->load->library('database')的注释,我将得到对非对象

我无法在我的模型或autoload.php中手动正确加载数据库库

行$query=$this->db->get('videos');针对指示未加载数据库库的非对象错误生成对成员函数get()的调用

我尝试使用下面模型的构造函数中注释掉的两行来加载数据库库,但这两行都返回错误。如果我取消对$this->load->database的注释,我将得到一个对非对象错误的成员函数database()的调用

如果我取消对$this->load->library('database')的注释,我将得到对非对象错误的成员函数library()的调用

我还在配置文件中设置了自动加载

$autoload['libraries'] = array('database');
在我的CI日志文件中,数据库驱动程序被指示为已初始化 调试-2013-05-09 15:31:17-->数据库驱动程序类已初始化

这是我的数据库配置

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

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'dbusername';
$db['default']['password'] = 'dbpassword';
$db['default']['database'] = 'dbname';
$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;
我正在使用eclipse中的CI 2.1.3以及aptana studio 3插件、phpMyAdmin 3.5.8.1和Apache服务器2.2

更新: 我已经确认,从控制器而不是模型访问数据库是可行的

找到了答案

我使用本教程在Eclipse中实现了自动完成(链接404'd) 一旦我删除了controller.php中的额外代码,模型中的model.php数据库访问就恢复了


这里有一个更好的教程,介绍如何在eclipse中使用autocomplete(阅读注释,了解如何在模型和控制器中使用autocomplete)

我看不出你的数据库配置有任何问题。我能看到的唯一一件事是,你在控制器中引用的模型都是小写的。CI文档说明模型类应该以大写字母开头,并且也应该以这种方式引用它们。($this->load->model('Videos\u model')/$this->Videos\u model->get\u Videos();)。这是否会产生影响,我不知道。@MichaelO'Brien its似乎使用小写引用,但我将其更改为更符合约定。第一个链接是404。我将尝试第二个链接。
$autoload['libraries'] = array('database');
$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'dbusername';
$db['default']['password'] = 'dbpassword';
$db['default']['database'] = 'dbname';
$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;