【问题标题】:How to connect more than two databases in codeigniter如何在codeigniter中连接两个以上的数据库
【发布时间】:2016-10-18 10:21:46
【问题描述】:

我想连接到 3 个数据库。如果我只连接两个数据库,我没有任何问题。当我尝试连接 3 个数据库时。我遇到了无法连接到数据库 2 的问题。

这是我在 database.php 中的配置:

$db['default'] = array(
'dsn'   => '',
'hostname' => '192.168.11.29,1433',
'username' => 'userhsp',
'password' => 'hsp432@',
'database' => 'HSP',
'dbdriver' => 'mssql',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => FALSE,
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

$db['crm'] = array(
'dsn'   => '',
'hostname' => '192.168.11.29,1433',
'username' => 'userhsp',
'password' => 'hsp432@',
'database' => 'CRM',
'dbdriver' => 'mssql',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => FALSE,
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

$db['pltapol'] = array(
'dsn'   => '',
'hostname' => '192.168.11.29,1433',
'username' => 'userhsp',
'password' => 'hsp432@',
'database' => 'pltapol',
'dbdriver' => 'mssql',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => FALSE,
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

在我的模型中是这样的:

private $db2;
private $db3;

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

我只能从数据库 pltapol 中获取对象,但我无法从 crm 中获取对象。如何解决?

【问题讨论】:

  • $this->db2->query('YOUR QUERY'); 和 $this->db3->query('YOUR QUERY'); 但还要确保将 'pconnect' => TRUE 默认更改为 false
  • 我尝试将所有数据库 'pconnect' 更改为 false,然后我无法连接到所有数据库。其他建议?

标签: php sql database codeigniter sql-server-2008


【解决方案1】:

我想回答我的问题。我尝试使用

$this->db2->db_select() or $this->db3->db_select() 

如果我想在$this->db2->query() or before $this->db2->query()之前使用那个连接

这是工作!

编码愉快 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 2013-10-04
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多