2009-07-08 3 views
0

mysql 연결을 다시 사용하려고합니다. 따라서 연결을 반환하는 databasemanager.php 클래스에 전역 변수가 있습니다.MySQL 연결 재사용 문제

문제는 어떻게 든 특정 페이지에서 mysql이 이전 쿼리를 실행하는 것입니다.

동일한 연결을 다시 사용할 경우 실행되는 연결 개체에 남아있는 쿼리가있는 것처럼 보입니다. 가능한가? 어떻게이 문제를 해결합니다 .. 코드 lookslike

+1

연결 방법 (기능 및 매개 변수)을 확인해야합니다. 또한 요청을 통해 또는 동일한 요청으로 연결을 다시 사용합니까? –

+0

MySQL 연결을 재사용하려는 특별한 이유가 있습니까? 그것들은 보통 매우 가볍기 때문에 재사용에 많은 의미가 없습니다 (거대한로드를 가지거나 제한된 하드웨어에서 실행하지 않는 한). –

답변

1

당신이 mysql_pconnect에 봤어 방법

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; 

}

이를? 문서에 따르면

:

는 mysql_pconnect()는 매우 두 가지 주요 차이 로 mysql_connect()와 같은 역할을합니다. 연결할 때

먼저, 함수 먼저 이미 같은 호스트, 사용자 이름과 암호를 가진 열려있는 영속 (persistent) 링크를 찾으려고합니다. 하나가 인 경우 새 연결을 열지 않고 해당 식별자를 으로 반환합니다.

두 번째로 스크립트 실행이 끝날 때 SQL 서버에 대한 연결이 닫히지 않습니다. 대신 링크는 앞으로 사용을 위해 열려 있습니다 (mysql_close()는 링크가 mysql_pconnect()에 의해 설정된 링크를 닫지 않습니다).