【问题标题】:CodeIgniter: Error in $this->load->database();CodeIgniter:$this->load->database() 中的错误;
【发布时间】:2015-01-05 04:18:09
【问题描述】:

我真的不知道我的代码有什么问题。到达 $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); 
}

数据库.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

【问题讨论】:

  • 如果你自动加载数据库那么它工作吗?另外,当您使用 MySql 工作台时,它是否与数据库连接?如果一切正常,那么您可以使用原始 php 编写一个测试脚本并检查数据库连接是否正常。

标签: php database codeigniter model


【解决方案1】:

$this->load->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');
*/

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      相关资源
      最近更新 更多