无法连接到数据库 codeIgniter
Posted
技术标签:
【中文标题】无法连接到数据库 codeIgniter【英文标题】:can't connect to DB codeIgniter 【发布时间】:2015-09-30 18:21:26 【问题描述】:我正在尝试自己学习 CodeIgniter。但是当我按照本教程中的具体说明进行操作时 http://www.codeigniter.com/user_guide/tutorial/news_section.html
这是我的数据库配置
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'test',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
我收到以下错误:
A php Error was encountered
Severity: Notice
Message: Undefined property: CI_Loader::$db
Filename: pages/about.php
Line Number: 9
Backtrace:
File: /Applications/MAMP/htdocs/CodeIgniter/application/views/pages/about.php
Line: 9
Function: _error_handler
File: /Applications/MAMP/htdocs/CodeIgniter/application/controllers/Pages.php
Line: 18
Function: view
File: /Applications/MAMP/htdocs/CodeIgniter/index.php
Line: 292
Function: require_once
Fatal error: Call to a member function query() on null in /Applications/MAMP/htdocs/CodeIgniter/application/views/pages/about.php on line 9
A PHP Error was encountered
Severity: Error
Message: Call to a member function query() on null
Filename: pages/about.php
Line Number: 9
Backtrace:
【问题讨论】:
您是否已经使用您在 codeigniter 中配置的凭据创建了数据库? 这些参数你设置了吗?$active_group = 'default'; $query_builder = TRUE;
@Alariva 是的,数据库已创建
@PratikSoni 是的,这些在配置数据库文件中
我不确定,但您应该尝试将配置文件的权限设置为可执行/可读。
【参考方案1】:
我认为这是因为您没有自动加载数据库库。
路径:application/config/autoload.php
$autoload['libraries'] = array('database');
为什么会显示Message: Undefined property: CI_Loader::$db
。
【讨论】:
@Keeper01 我认为自动加载帮助程序 url、表单、html 和库数据库、会话等最常见。【参考方案2】:您可以尝试在控制器或视图中加载您的模型,建议在控制器中加载...
$this->load->model('News_model','News',true)
;
然后尝试插入、更新或删除使用:
$this->News->insert_function($param1,$param2);
class News_model extends CI_Model
public function insert_function($param1,$param2)
$this->db->query("insert into table ('col1','col2') values ('$param1','$param2')");
//other codes here....
希望对您有所帮助..
【讨论】:
以上是关于无法连接到数据库 codeIgniter的主要内容,如果未能解决你的问题,请参考以下文章
在 Codeigniter 中无法发送电子邮件 - fsockopen():无法连接到 ssl://smtp.gmail.com:465(连接被拒绝)
无法使用 PHP 和 Codeigniter 从 PHP Azure 连接到 SQL Server Azure
Codeigniter 无法连接到外部 SQL Server