2015-07-12 279 views
1

我是codeIgnitor的新手,我试图自己学习它。但是当我跟着本教程 [http://www.codeigniter.com/user_guide/tutorial/news_section.html][1]无法连接到DB codeIgnitor

的特定指令,这是我的数据库配置

$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: 
+1

你是否已经与您在笨配置的凭据创建数据库? – alariva

+0

你设置了这些参数吗? '$ active_group ='default'; $ query_builder = TRUE;' –

+0

@Aririva是数据库已创建 – Keeper01

回答

3

我想那是因为你没有不自动加载数据库库。

路径:的application/config/autoload.php

$autoload['libraries'] = array('database'); 

至于为什么出Message: Undefined property: CI_Loader::$db

+0

thx @ wolfgang1983这工作 – Keeper01

+0

@ Keeper01我认为最常见的助手自动加载URL,表格,HTML和库数据库,会议等。 – user4419336

0

你可以尝试使用,建议在控制器装载的装载模型在控制器或视图......

$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.... 
    } 
} 

希望这有助于..