CI操作多个数据库
CI链接多个数据库
最近有个需求,做一个独立后台出来,这个独立后台有单独的库,单独的url,单独…。但是,这里边只是一些基础数据,而使用者需要通过该库查看另一个库里的统计数据。这就带来一个问题:我需要在控制器里边可以同时操作两个数据库,而且这两个库毫不相干!其实,这不是什么难事,因为刚入手CI,所以还是费了一番周折。好在有手册。
- 找到数据库配置文件,添加一个新的库的连接信息。$config[XX]。
- 在控制器里边,
a) $this->xx = $this->load->database(‘XX’, TRUE) tip:XX表示你配置的数据库信息数组的键名,后边建议设置为TRUE,分别表示返回连接ID和启用ActionRecord类
b) 然后在该控制器里边你就可以用 $this->xx->query()来查询你的另一个库的数据。而你另一个库是不需要建立modle文件的
1 <?php 2 function __construct() 3 { 4 parent::__construct(); 5 $this->xx = $this->load->database('XX', TRUE); 6 $this->load->model('默认库表名'); 7 } 8 9 function index() 10 { 11 //现在可以用$this->xx->query()来执行XX库的sql了 12 $this->xx->query($sql); 13 } 14 ?>