怎样动态连接数据库
有多个服务器,在登录时候也需要连接不同的mysql数据库。现在我的mysql连接信息存储在一个mysql表里。里面hostname,username,password,database都一一存储下来。登录时候我把这些信息都放在了session里。
但是在 application\config\database.php这个文件里怎么获取这个session呢?
求大神指点!!!
本帖最后由 Closer 于 2015-1-21 11:10 编辑
小花鱼 发表于 2015-1-21 10:26
呃,不是要同时连多个数据库。而是选择性在连接数据库~~
如果我把数据库连接信息都存储在mysql里。那我增 ...
所以給了你第二個選擇
用 $_SESSION
不過你得先向 $_SESSION 扔參數值,再載入資料庫
這意味著你無法使用 autoload.php 來載入 database
因為無法即時更新你所選擇的資料庫
上列為錯誤教法,請勿使用
本帖最后由 小花鱼 于 2015-1-21 11:04 编辑
nic 发表于 2015-1-21 10:48
其实没必要用database.php吧 走进牛角尖去了
哎~~那怎么用呢?刚才我试了一下这个:$dsn = 'dbdriver://username:password@hostname/database';
$this->load->database($dsn);
结果报错了!
nic 发表于 2015-1-21 11:07
$dsn = 'mysql://localhost:root@root/test';
$this->load->database($dsn);
你确定你是这样子?
啊,错了!我写的是:$dsn = 'dbdriver://localhost:root@root/test';{:soso_e110:}
连上了!太感谢了!!!
本帖最后由 Closer 于 2015-1-21 11:11 编辑
1. CI 手冊 - 連結 最下面的多數據庫連結方式不行嗎?
2. 你可以用 PHP 原生的 session
2. 為錯誤教法,請勿使用
本帖最后由 小花鱼 于 2015-1-21 10:35 编辑
Closer 发表于 2015-1-21 10:14
1. CI 手冊 - 連結 最下面的多數據庫連結方式不行嗎?
2. 你可以用 PHP 原生的 session ...
呃,不是要同时连多个数据库。而是选择性在连接数据库~~
Closer 发表于 2015-1-21 10:33
所以給了你第二個選擇
用 $_SESSION
关键是在database.php里怎么用这个啊?这是我要问的!
本帖最后由 Closer 于 2015-1-21 11:11 编辑
小花鱼 发表于 2015-1-21 10:34
关键是在database.php里怎么用这个啊?这是我要问的!
直接用啊
session_start();
echo $_SESSION['test'];
我研究一下 +.+
上列為錯誤教法,請勿使用
$dsn = 'dbdriver://username:password@hostname/database';
$this->load->database($dsn);
手册写着呢 Closer 发表于 2015-1-21 10:36
直接用啊
session_start();
啊~~我试试!
nic 发表于 2015-1-21 10:37
$dsn = 'dbdriver://username:password@hostname/database';
$this->load->database($dsn);
呃。这个我没注意看~~等我仔细看看~~~
其实没必要用database.php吧 走进牛角尖去了