设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
ci3怎样动态修改全局的数据库连接?
返回列表
查看:
6573
|
回复:
3
[数据库]
ci3怎样动态修改全局的数据库连接?
[复制链接]
michaelzhouh
michaelzhouh
当前离线
积分
148
IP卡
狗仔卡
发表于 2021-1-3 22:06:11
|
显示全部楼层
|
阅读模式
我的终极目标是想在controller,根据参数动态修改全局的数据库连接。
比如现在2个数据配置都在database.php配置完毕,全局的数据库是$active_group = 'db1';我想在controller根据参数修改为调用db2(以后还会有db3、db4……)
我现在尝试了一些方法都不行:
controller获取参数后:
$this->load->database('db2', TRUE);
但是打印的$this->db信息还是原来的db1,我想让全局的$this->db变为db2的,应该如何实现呢?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
xgdd1987
xgdd1987
当前离线
积分
480
IP卡
狗仔卡
发表于 2021-1-11 14:25:26
|
显示全部楼层
$db2 = $this->load->database('db2', TRUE);
$sql="SELECT * FROM 。。。。。。";
$query=$db2->query($sql);
回复
支持
反对
使用道具
举报
显身卡
筱尘影
筱尘影
当前离线
积分
283
IP卡
狗仔卡
发表于 2021-6-1 23:23:16
|
显示全部楼层
你在一个公用的Controller中如下配置
PHP
复制代码
function
__construct
(
)
{
parent
::
__construct
(
)
;
$this
->
db2
=
$this
->
load
->
database
(
'db2'
,
TRUE
)
;
}
复制代码
只要其他控制器继承这个控制器,就可以这么使用了:
PHP
复制代码
$one
=
$this
->
db
->
where
(
'id'
,
1
)
->
get
(
'user'
)
->
row
(
)
;
复制代码
回复
支持
反对
使用道具
举报
显身卡
筱尘影
筱尘影
当前离线
积分
283
IP卡
狗仔卡
发表于 2021-6-1 23:25:27
|
显示全部楼层
你在公用的控制器中如下配置:
function __construct(){
parent::__construct();
$this->db2 = $this->load->database('db2', TRUE);
}
只要其他控制器继承他,都可以实现你想要的$this->db2
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页