[英]Is mysql concurrent connection limit per mysql user or limit per localhost
[英]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.