无法使用codeigniter连接到数据库
我知道这听起来像是重复了好几次。但我无法解决它 我尝试将我的应用程序连接到mysql,这些是我尝试过的(我只尝试了这些选项中的一个,而不是两个):无法使用codeigniter连接到数据库,codeigniter,database-connection,Codeigniter,Database Connection,我知道这听起来像是重复了好几次。但我无法解决它 我尝试将我的应用程序连接到mysql,这些是我尝试过的(我只尝试了这些选项中的一个,而不是两个): $autoload['libraries']=array('database')在application\config\autoload.php上,但我得到了致命错误:在第15行的/Users/zakkafm/Sites/CodeIgniter/application/models/My_models.php中对非对象调用成员函数get() $thi
$autoload['libraries']=array('database')代码>在application\config\autoload.php
上,但我得到了致命错误:在第15行的/Users/zakkafm/Sites/CodeIgniter/application/models/My_models.php中对非对象调用成员函数get()
$this->load->database()在应用程序\models\My_models.php上的code>在\uu构造()
上(我还在第7行的/Users/zakkafm/Sites/CodeIgniter/application/models/My_model.php中添加了父项::\uu构造()
,但我遇到了致命错误:在/Users/zakkafm/Sites/CodeIgniter/application/models/My_model.php中对非对象调用成员函数数据库()
数据库。php
看起来像
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'trial';
$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;
决心
毕竟,这都是因为我在
system/core/Controller.php
和system/core/Model.php
上添加了Eclipse上的自动完成功能,我想您不必添加
$this->load->database();
在My_models.php上,因为我知道它将在您设置database.php文件时自动连接到数据库。因此,请将其从My_models.php文件中删除并重试
希望它有帮助:)在你
My_models.php中,你不应该调用$this->load->database()代码>应该只有:
class My_models extends CI_Model {
/**
* Constructor
*/
function __construct()
{
parent::__construct();
}
function something(){
// your model code goes here
}
}
另外,您只需要启用自动加载
,就可以开始了(请记住,MYSQL库需要为PHP加载)
您可能在此处出错(没有看到您的代码,因此不确定):
没有用…我把这两个作为选项,所以我在我的模型中添加了自动加载或加载->数据库。因此,您尝试使用2个数据库连接选项(自动和手动)连接到1个数据库?如果我没记错的话,如果您使用的是两个不同的数据库,您可以手动加载数据库,就像您将pconnect设置为FALSE时所做的那样。对于两个数据库,不要走得太远,即使我无法连接到单个数据库:)是的,我知道:)。如果是这样,为了测试数据库连接,请从My_models.php中删除$this->load->database()。行吗?还是不行。。。别再告诉我这件事了。。。当我尝试这两个选项中的一个时,我评论了另一个:)但是仍然错误这个错误正是我在使用自动加载时遇到的错误。。。请注意,这两个数字是可选的,所以我使用了第一个或第二个…我相信您可以自动加载它,但您的My_模型中有一个问题,请您更新内容好吗?问题解决了!请阅读我在帖子上的“已解决”部分。
Fatal error: Call to a member function get() on a non-object in
/Users/zakkafm/Sites/CodeIgniter/application/models/My_models.php on line 15