添加第二个数据库连接

时间:2013-04-19 09:28:31

标签: codeigniter

我尝试在CI应用程序中添加第二个数据库连接。第一个由以下内容初始化:

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

如何在我的模型中访问第二个数据库连接?我试过这个:

class Configurator_model extends CI_Model{

private $db2 = null;

function __construct()
{
    parent::__construct();
    $this->db2 = $this->load->database('configurator', TRUE);
}

public function all(){
    $query = $this->db2->get('projects');
    var_dump($query);
    if($query->num_rows()>0){
        return $query->result_array();
    }
}

}

但没有结果。 Var_dump返回:

  

object(CI_DB_mysql_result)#22(8){[“conn_id”] =>类型的资源(47)(mysql link persistent)[“result_id”] =>类型的资源(48)(mysql结果)[“result_array”] => array(0){} [“result_object”] => array(0){} [“custom_result_object”] => array(0){} [“current_row”] => int(0)[“num_rows”] => int(0)[“row_data”] => NULL}

数据库在config:

中配置如下
...
$db['configurator']['hostname'] ...
...

2 个答案:

答案 0 :(得分:0)

我在CodeIgniter Userguide看到了这个希望这个帮助。

$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;

$this->load->model('Model_name', '', $config);

您可以将数据库保存在$cconfig变量的元素中,如`$ config ['second_db'],并在控制器中加载此配置。

答案 1 :(得分:-1)