将mysql连接设为静态是一个好主意吗?

时间:2011-08-16 04:20:34

标签: php mysql static-variables

我正在开发一个中型(可能)PHP系统,该系统在不同文件的各处打开MySQL连接,并将其作为全局变量,供以后包含的脚本访问。因为我正在创建另一个模块,所以我想避免使用全局变量并为每个页面请求保持相同的mysql连接。我目前的解决方案是:

Class Db {
        static public $dbConnectionArray = array();
}

对于每个请求,连接都将保存在静态数组中,并在以后返回。你觉得怎么会出问题?为什么?

希望听到一些关于如何最好地解决这个问题的意见,因为我希望减少每个脚本运行的打开连接数(目前,一个页面请求调用了大约6-15个mysql连接到至少3个不同的数据库)。

1 个答案:

答案 0 :(得分:0)

无需重新发明轮子。您可以使用mysql持久连接来保持连接活跃。 (http://php.net/manual/en/function.mysql-pconnect.php)

通过使用持久连接,您的PHP脚本将重用相同的数据库连接(只要数据库名称和凭据相同)

此外,如果您的数据库位于同一主机上,则应该能够使用mysql_select_db()函数使用相同的mysql连接。