如果我们在 database.php 中有多个数据库组
:-
1) 即使在特定调用中只需要使用一个,是否也建立了所有这些连接。 IE。如果我有数据库组 a,b 在我的调用中,我加载了仅加载组 b 的模型。
2) 如果我在我的 Controller 中加载了两个模型,并且如果它们都加载了相同的数据库,将建立不同的连接还是共享相同的连接。
例如:- Controller mycont.php 具有以下内容:-
$this->load->model('model1');
$this->load->model('model2');
如果 model1.php 和 model2.php 都有以下内容:-
$this->load->db('connection_name');
3) 连接在哪里关闭。
例如:- 如果我有以下代码:-
$this->databaseFunc();//完成数据库工作在此之后不需要 这里进行了一个 curl 调用,这需要很长时间
那么数据库连接什么时候关闭,在 curl 之后或者它在超过 mysql 服务器
的 mysql_wait_time 配置
时自行关闭。
希望这个问题的答案有助于更好地理解 DB with codeigniter。
最佳答案
在 CI 中,每个库都是一个单例。它在 load->library 上创建,并在请求结束时销毁。
数据库lib处理数据库连接,所以当库被销毁时连接被关闭。它与 curl 无关。
我从未尝试过,但它应该是这样工作的。
关于php - codeigniter在哪里创建和销毁mysql连接以及db类单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227456/