我正在开发一个中型(可能)PHP系统,该系统在不同文件的各处打开MySQL连接,并将其作为全局变量,供以后包含的脚本访问。因为我正在创建另一个模块,所以我想避免使用全局变量并为每个页面请求保持相同的mysql连接。我目前的解决方案是:
Class Db {
static public $dbConnectionArray = array();
}
对于每个请求,连接都将保存在静态数组中,并在以后返回。你觉得怎么会出问题?为什么?
希望听到一些关于如何最好地解决这个问题的意见,因为我希望减少每个脚本运行的打开连接数(目前,一个页面请求调用了大约6-15个mysql连接到至少3个不同的数据库)。
答案 0 :(得分:0)
无需重新发明轮子。您可以使用mysql持久连接来保持连接活跃。 (http://php.net/manual/en/function.mysql-pconnect.php)
通过使用持久连接,您的PHP脚本将重用相同的数据库连接(只要数据库名称和凭据相同)
此外,如果您的数据库位于同一主机上,则应该能够使用mysql_select_db()
函数使用相同的mysql连接。