繁体   English   中英

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

[英]Is one database (mysql) connection per user sufficient?

我只是开始使用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_*持久连接的信息,并确定是否要使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM