1

我尝试在我的 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"]=> resource(47) of type (mysql link persistent) ["result_id"]=> resource(48) of type (mysql result) ["result_array"] => array(0) { } ["result_object"]=> array(0) { } ["custom_result_object"]=> array(0) { } ["current_row"]=> int(0) ["num_rows"] => int(0) ["row_data"]=> NULL }

数据库在配置中是这样配置的:

...
$db['configurator']['hostname'] ...
...
4

2 回答 2

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'] 并将此配置加载到控制器中。

于 2013-04-19T09:58:24.597 回答
-1

查看连接到多个数据库:http ://ellislab.com/codeigniter/user-guide/database/connecting.html

于 2013-04-19T09:31:52.977 回答