我有一个关于使用 PDO 的问题,但我无法找到答案。这对于 mysql/mysqli 连接也可能同样适用。
在我的项目的主要包含中,我使用创建了一个 PDO 对象
$pdo = new PDO('connection here');
好吧,我有一个需要访问数据库的类。因此,不要使用“global $pdo;” 在每个函数内部,我做了以下事情。
class MyClass(){
private $db = null;
__construct(){
global $pdo;
$this->db = $pdo;
}
function example(){
$sql = 'A Query';
$this->db->prepare($sql);
}
}
无论如何,我的问题是,这样做是否会创建 2 个与数据库的连接,因为我通过将类的 $db var 设置为等于它来有效地复制 $pdo?我问的主要原因是因为我看到这种情况在我们的系统中发生了很多,并且担心创建太多与 MySQL 的连接并由于不必要的连接而使系统崩溃。
作为第二部分,以下是否会导致重复,我可以通过参考吗?我有点害怕尝试它并导致某些东西破裂。
改变
function MyFunction($member_id, $pdo){
//do something.
}
至
function MyFunction($member_id, &$pdo){
//do something
}
谢谢!