MySQL连接重用问题

时间:2009-07-08 18:20:44

标签: mysql

我正在尝试重用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;

}

这个代码看起来像

1 个答案:

答案 0 :(得分:1)

你有没有看过mysql_pconnect

根据文件:

  

mysql_pconnect()非常像   mysql_connect()有两个主要的   差异。

     

首先,连接时,功能   会先尝试找一个(持久的)   链接已经打开相同的   主机,用户名和密码。如果是的话   发现,它的标识符将是   返回而不是打开一个新的   连接。

     

第二,与SQL的连接   当服务器不会关闭   脚本的执行结束。代替,   该链接将继续开放以供将来使用   use(mysql_close()不会关闭   建立的链接   mysql_pconnect())。