CodeIgniter:$ this-> load-> database();

时间:2015-01-05 04:18:10

标签: php database codeigniter model

我真的不知道我的代码有什么问题。到达 $ this-> load-> database();

行时失败

代码不会抛出任何异常/错误。

club_controller

    public function guardar(){
    $data = array(
        'id' => $this->input->post('nombredentificador'), 
        'nombre' => $this->input->post('nombreclub'),
        'estado' => True
    );

    $this->load->model('club_model');       
    $this->club_model->save($data);
} 

club_model

class Club_model extends CI_Model{

function __construct(){
    parent::__construct();
    $this->load->database();
}

public function save($data){
    $this->db->insert('Club', $data); 
}

database.php中

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'Natacion';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';

我使用MySql Workbench,数据库名称为Natacion

2 个答案:

答案 0 :(得分:1)

$this->load->database();删除此行并绑定数据库文件,如下所示:

"自动连接"功能将加载并实例化每个页面加载的数据库类。要启用"自动连接",请将单词database添加到库阵列,如以下文件所示:

application/config/autoload.php

/*
| -------------------------------------------------------------------
|  Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
|   $autoload['libraries'] = array('database', 'session');
*/

答案 1 :(得分:1)

不要在您的模型中手动加载数据库库。在codeigniter中我们可以自动加载库。 转到application / config / autoload.php文件并添加数据库,如下所示

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