gpt4 book ai didi

PHP » 单例 MySQL 连接

转载 作者:行者123 更新时间:2023-11-29 02:33:14 26 4
gpt4 key购买 nike

下面的函数是MySQL连接的老办法

function dbconn($autoclean = false, $mysql_close = false)
{
global $mysql_host, $mysql_user, $mysql_pass, $mysql_db;
mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysql_db);

userlogin();

if ($autoclean)
register_shutdown_function("autoclean");

if ($mysql_close)
register_shutdown_function("mysql_close");
}

嗯...我的专用服务器报告了类似“使用单例,因为你正在向 mysql 连接发送垃圾邮件”之类的内容,所以我为 MySQL 编写了一个单例类,但垃圾邮件仍然存在。

<?php
class mysql {
private static $instance;
private $res;
private function __construct()
{
$this->res = mysql_connect('localhost','user','password');
mysql_select_db('database', $this->res);
}
public static function getinstance() {
if(!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}
public function getres() {
return $this->res;
}
}
?>

和功能...

function dbconn($autoclean = false, $mysql_close = false, $file = '')
{
require_once("MySQL.php");
$m = mysql::getinstance();
$m->getres();

userlogin();

if ($autoclean)
register_shutdown_function("autoclean");

//if ($mysql_close)
// register_shutdown_function("mysql_close");
}

谢谢!

最佳答案

请注意,这仍然会为每个请求打开一个连接。如果您的站点很受欢迎,而服务器速度慢且配置错误,则可能会导致大量并发连接并进一步阻塞数据库。在那种情况下,我只能建议更改服务器或主机)

当然,您的查询也可能很慢,这可能会导致 MySQL 负载过大。如果您的网站确实很受欢迎。

关于PHP » 单例 MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9456191/

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