我正在尝试重用mysql连接。因此,我在databasemanager.php类中有一个返回连接的全局变量。
问题是在一个特定的页面上mysql正在执行先前的查询。
看起来连接对象中有一些剩余的查询,如果重用相同的连接,则会执行该查询。可能吗 ?怎么解决这个..
function getDBConnection(){
global $conn;
if (!empty($conn)){
// echo $conn ;
return $conn;
}
$conn = mysql_connect($GLOBALS['HOSTNAME'],$GLOBALS['DBUSER'],$GLOBALS['DBPASS']);
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($GLOBALS['DBNAME'],$conn);
return $conn;
}
这个代码看起来像
答案 0 :(得分:1)
你有没有看过mysql_pconnect?
根据文件:
mysql_pconnect()非常像 mysql_connect()有两个主要的 差异。
首先,连接时,功能 会先尝试找一个(持久的) 链接已经打开相同的 主机,用户名和密码。如果是的话 发现,它的标识符将是 返回而不是打开一个新的 连接。
第二,与SQL的连接 当服务器不会关闭 脚本的执行结束。代替, 该链接将继续开放以供将来使用 use(mysql_close()不会关闭 建立的链接 mysql_pconnect())。