使用多个数据库中的CodeIgniter
免责声明:我是新来的web开发使用多个数据库中的CodeIgniter
场景:我要建一个使用ion_auth来管理所有的用户/管理员信息的Web应用程序(使用MySQL数据库),每个用户有自己的数据库(MySQL也是)用于核心应用程序。我在CodeIgniter的applicaton/config/database.php文件中自动加载了我用于ion_auth的数据库。我使用标准的MVC格式(与每个数据库有关的个人模型)。
问题:我需要知道如何轻松高效地在CodeIgniter中同时使用多个数据库。我是否需要将两个数据库模式链接在一起,或者CodeIgniter会为我做这些吗?有没有解决此问题的任何资源(我在尝试找到问题时遇到问题)?
非常感谢您的帮助!
在你的数据库配置文件添加尽可能多的配置组为你的数据库的数字:
$db['a']['hostname'] = 'localhost';
$db['a']['username'] = 'user';
$db['a']['password'] = 'pw';
$db['a']['database'] = 'db1';
...
$db['b']['hostname'] = 'localhost';
$db['b']['username'] = 'user';
$db['b']['password'] = 'pw';
$db['b']['database'] = 'db2';
...
//set the default db
$active_group = 'a';
然后在模型初始化类变量:
private $db_b;
,并进入构造器,将其设置如下
__construct()
{
...
$this->db_b = $this->load->database('b', TRUE);
}
现在您可以使用数据库b
像往常一样:
$this->db_b->query('YOUR QUERY');
,显然默认的一个如下:
$this->db->query('YOUR QUERY');
秒杀我! +1 –
确保设置'$ db ['default'] ['pconnect'] = FALSE;' – tpae
你怎么想使用多个数据库?通过配置?由控制器?手动切换? – hakre