在控制器功能中断开当前数据库连接并在 codeigniter 中连接另一个数据库
disconnect current database connection in controller function and connect another database in codeigniter
在我的 application/config/database.php 中,我有多个数据库连接..现在数据库连接将根据我在哪个城市登录 in.As 每个城市数据库连接将成功创建......现在我要做的是在一个特定的函数中我需要连接一个复制数据库(只有那个函数我已经连接了复制数据库)......我将成功连接那个复制数据库连接但是问题是它将在我的整个应用程序中连接。我只需要为该功能连接复制数据库...对于其余的控制器和功能,我需要连接我根据城市连接的数据库。
我相信这会解决您的问题。通过这个你可以打开一个到复制服务器的连接并且可以访问两个数据库服务器。
将代码放在函数中您想要的位置。
public function replication_test()
{
echo "<pre>";
$query = $this->db->query("SELECT id FROM users ORDER BY id DESC LIMIT 0, 1");
$result = $query->row_array();
print_r($result);
$db_repli = $this->load->database('replication_db', true);
$query = $db_repli->query("SELECT id FROM repli_users ORDER BY id DESC LIMIT 0, 1");
$result = $query->row_array();
print_r($result);
// Close the DB
$db_repli->close();
}
这里我想出了我的问题的解决方案,即将复制数据库加载到模型的构造函数中,而不是控制器的构造函数中,它允许在需要时加载复制数据库连接。
在我的 application/config/database.php 中,我有多个数据库连接..现在数据库连接将根据我在哪个城市登录 in.As 每个城市数据库连接将成功创建......现在我要做的是在一个特定的函数中我需要连接一个复制数据库(只有那个函数我已经连接了复制数据库)......我将成功连接那个复制数据库连接但是问题是它将在我的整个应用程序中连接。我只需要为该功能连接复制数据库...对于其余的控制器和功能,我需要连接我根据城市连接的数据库。
我相信这会解决您的问题。通过这个你可以打开一个到复制服务器的连接并且可以访问两个数据库服务器。
将代码放在函数中您想要的位置。
public function replication_test()
{
echo "<pre>";
$query = $this->db->query("SELECT id FROM users ORDER BY id DESC LIMIT 0, 1");
$result = $query->row_array();
print_r($result);
$db_repli = $this->load->database('replication_db', true);
$query = $db_repli->query("SELECT id FROM repli_users ORDER BY id DESC LIMIT 0, 1");
$result = $query->row_array();
print_r($result);
// Close the DB
$db_repli->close();
}
这里我想出了我的问题的解决方案,即将复制数据库加载到模型的构造函数中,而不是控制器的构造函数中,它允许在需要时加载复制数据库连接。