用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3009|回复: 9
收起左侧

[已解决] 需求,需要连接多个数据库,变动大,不适合写配置

[复制链接]
发表于 2012-12-21 22:05:23 | 显示全部楼层 |阅读模式
本帖最后由 helloweb 于 2012-12-27 19:45 编辑

大晚上跑网吧来求助,宿舍没有网。做了是报表,有多个地区,数据都不一样,开始是自动载入本地数据库,根据用户的选择,选择不同地区了数据库,翻看手册有个可以以DSN的方式提交数据库配置信息,很强大了说,于是我就试了下

PHP复制代码
 
$dsn = 'dbdriver://root:root@192.168.0.1/manage';
$this->load->database($dsn);
 
复制代码

也不知道怎么测试,我就是var_dump了下$this->load->database($dsn),返回了是false 也不提示哪里出错
我以为是连接不上,就把信息写入配置文件里,可以连接上,报错,错误原因是因为别的了库里没有正在使用的sever表
说明连接是可用了,我用可视化sql也能连接数据库
不知道是哪一步错了,有经验的大侠,或者愿意帮助我了,麻烦了


发表于 2012-12-21 22:16:02 | 显示全部楼层
亲 换成127.0.0.1 试下
 楼主| 发表于 2012-12-21 22:18:05 | 显示全部楼层
cdm 发表于 2012-12-21 22:16
亲 换成127.0.0.1 试下

啊,这个是虚拟机的数据库,我需要连上虚拟机的数据库 不是本地了
发表于 2012-12-21 22:24:37 | 显示全部楼层
为什么不采用多组配置文件的方式呢? 通过传进来的变量加载不同的DB分组就好
 楼主| 发表于 2012-12-21 22:28:07 | 显示全部楼层
LSvKing 发表于 2012-12-21 22:24
为什么不采用多组配置文件的方式呢? 通过传进来的变量加载不同的DB分组就好 ...

数据是不同地区了,逐渐增加了 写配置,意味着一但增加一次 就意味着需要写一次配置文件,我看手册上有这个方法 想尝试一下,实在不行只能采用你说了这种办法了
 楼主| 发表于 2012-12-21 22:53:52 | 显示全部楼层
回去了 没能解决
发表于 2012-12-21 23:09:22 | 显示全部楼层
本帖最后由 kevin11 于 2012-12-21 23:11 编辑

兄弟,如果多个数据库连接是不是忽略了以下两点呢?
1.把dbdriver换成 mysql
2.在$dns后面加上true

PHP复制代码
$dsn = [color=Red]'mysql://user:pass@ip/database';
$test = $this->load->database($dsn,[color=Magenta]true[/color]);
复制代码


发表于 2012-12-21 23:43:12 | 显示全部楼层
嚓 楼上说的对dbdriver 也是需要改的变量
 楼主| 发表于 2012-12-27 19:39:53 | 显示全部楼层
kevin11 发表于 2012-12-21 23:09
兄弟,如果多个数据库连接是不是忽略了以下两点呢?
1.把dbdriver换成 mysql
2.在$dns后面加上true[/backc ...

啊哈 没有注意到 谢谢了哈
 楼主| 发表于 2012-12-27 19:40:22 | 显示全部楼层
LSvKing 发表于 2012-12-21 23:43
嚓 楼上说的对dbdriver 也是需要改的变量

忽略了 谢谢了

本版积分规则