2009-07-08 121 views
0

我想重用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; 

}

该如何代码lookslike

+1

我们需要看你如何连接(什么函数和什么参数)。 另外,你是否通过请求或相同的请求重用连接? – 2009-07-08 18:25:22

回答

1

你有没有看着mysql_pconnect

根据文档:

mysql_pconnect()行为很像0​​mysql_connect()函数有两个主要 差异。

首先,连接时,该功能将 首先尝试找到一个(永久) 链接已存在使用同一 主机,用户名和密码打开。如果找到一个是 ,则返回的标识符将为 ,而不是打开新的 连接。

其次,当脚本的执行结束时,不会关闭与SQL 服务器的连接。相反, 链接将保持未来 使用(mysql_close()将不会关闭 链接由 建立mysql_pconnect())。