是否在单个PHP脚本中实例化多个mysqli对象?

时间:2012-03-26 17:15:56

标签: php mysqli

我有一个包装mysqli的基础模型类。当我实例化多个模型时,每个模型都会调用new mysqli()。如果传递给mysqli()的参数相同,它是否会针对我进行优化并仅使用一个连接?

我想另一种问这个问题的方法是......:

$mysqli1 = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$mysqli2 = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$mysqli3 = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

或多或少等同于此:

$mysqli1 = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$mysqli2 = $mysqli1;
$mysqli3 = $mysqli1;

编辑: 我记得在某个地方读过如果你已经连接它确实会返回一个副本但我现在找不到它。

1 个答案:

答案 0 :(得分:1)

否,它将打开与数据库的新连接。每次创建mysqli类的实例时,即使使用相同的参数,它也会创建一个新实例。