gpt4 book ai didi

php - 每个用户一个数据库(mysql)连接是否足够?

转载 作者:行者123 更新时间:2023-11-30 22:36:21 27 4
gpt4 key购买 nike

我刚刚开始使用 PHP 和 MySQL 构建 Web 应用程序。

我的问题是我是否应该在我拥有的每个脚本中打开和关闭一个新的数据库连接,或者我是否应该重新使用包含文件中设置的静态连接。

我有一个文件database.inc.php,它定义了一个类Database,具有连接和错误报告功能。我使用以下变量:

private static $db_host = 'localhost'; 
private static $db_name = 'dbname';
private static $db_user = 'user'
private static $db_pass = 'password' //placeholder

public static $conn;

具有以下连接功能

public static function connect()
{
if(!self::$conn){
self::$conn = new mysqli(self::$db_host, self::$db_user, self::$db_pass, self::$db_name);
if(!self::$conn){
self::error(self::$conn);
return false;
}
else{
return true;
}
}
else{
return true;
}
}

在文件底部我创建了一个数据库连接:

//instantiate class
$database = new Database;
//establish connection
$database::connect();
//return connection
$mysqli = $database::$conn;

在我的每个文件中,我都包含 database.inc.php。所以在每个脚本(例如登录和注册脚本)中,我重复使用相同的连接。鉴于此,我应该在每个脚本中打开一个新连接,还是重复使用同一个连接?

最佳答案

事实上,您每次都在使用新连接,因为 PHP 不会在请求之间共享您的静态变量,并且连接将在每个请求结束时关闭。

您可以在 mysqli_* 中阅读有关持久连接的信息 here并决定是否要使用它。

关于php - 每个用户一个数据库(mysql)连接是否足够?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com