我有一个页面,我首先在其中建立数据库连接。我用它来进行一些查询,之后我还使用一些函数。现在我不确定函数的最佳实践是什么:将数据库连接作为参数传递或在函数中创建自己的数据库连接?
在函数中创建数据库连接
function get_Number_of_Entries() {
$mysqli = new mysqli(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE);
$stmt = $mysqli->prepare("SELECT * FROM users");
$stmt->execute();
$stmt->store_result();
$count = $stmt->num_rows;
$stmt->close();
return $count;
}
作为参数“$stmt”,函数中没有创建数据库连接
function get_Number_of_Entries($mysqli) {
$stmt = $mysqli->prepare("SELECT * FROM users");
$stmt->execute();
$stmt->store_result();
$count = $stmt->num_rows;
$stmt->close();
return $count;
}
最佳答案
通常,将连接作为参数传递将是更好的解决方案。 建立连接是一项昂贵的操作,更重要的是,多个连接可能会造成真正的麻烦。它可以锁定数据库以及更多场景。
我建议阅读有关单例模式的内容: https://en.wikipedia.org/wiki/Singleton_pattern
或工厂模式: https://www.tutorialspoint.com/design_pattern/factory_pattern.htm
关于php - 函数 : Database connection in function or pass it as argument? 的最佳情况是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44354880/