2015-07-12 3 views
1

Я новичок в кодеИндитор, и я пытаюсь изучить его самостоятельно. но когда я следовал за конкретные инструкции из этого урока [http://www.codeigniter.com/user_guide/tutorial/news_section.html][1]не может подключиться к DB codeIgnitor

это мой DB конфигурации

$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

Вы уже создали базу данных с учетными данными, сконфигурированных в CodeIgniter? – alariva

+0

Вы установили эти параметры? '$ active_group = 'default'; $ query_builder = TRUE; ' –

+0

@Alariva Да, была создана БД – Keeper01

ответ

3

Я имею в виду, это потому, что вы сделали не загружать библиотеку базы данных.

Путь: приложение/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.... 
    } 
} 

надеюсь, что это поможет ..