无法连接到数据库 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

无法连接到数据库 codeIgniter

无法使用 codeigniter 连接到 SQL SERVER 数据库

CodeIgniter 3.1.10:无法通过 DSN 使用 ODBC 连接到远程数据库