首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CodeIgniter中使用多个数据库

在CodeIgniter中使用多个数据库
EN

Stack Overflow用户
提问于 2011-09-30 01:24:44
回答 1查看 8.3K关注 0票数 11

免责声明:我是web开发新手

场景:我正在构建一个web应用程序,它使用ion_auth来管理所有的用户/管理员信息(使用MySQL数据库),每个用户都有自己的数据库(也包括MySQL)用于核心应用程序。我已经在CodeIgniter内的applicaton/config/database.php文件中自动加载了用于ion_auth的数据库。我使用的是标准的MVC格式(每个数据库都有单独的模型)。

问题:我需要知道如何在CodeIgniter中轻松高效地同时使用多个数据库。我需要将这两个数据库模式链接在一起,还是CodeIgniter会帮我做到这一点?有没有什么资源可以解决这个问题(我很难找到一个)?

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-30 01:37:15

在数据库配置文件中,添加与数据库数量一样多的配置组:

代码语言:javascript
复制
$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';

然后在你的模型上初始化一个类变量:

代码语言:javascript
复制
private $db_b;

然后,进入构造器,如下所示

代码语言:javascript
复制
__construct()
{
   ...
   $this->db_b = $this->load->database('b', TRUE); 
}

现在您可以照常使用数据库b了:

代码语言:javascript
复制
$this->db_b->query('YOUR QUERY');

显然,默认设置如下所示:

代码语言:javascript
复制
$this->db->query('YOUR QUERY');
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7601028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档