0
我嘗試從一個PHP函數連接不同的數據庫(假設有一個當前連接到另一個數據庫)。我將mysql_connect()
與new_link
參數設置爲TRUE,如下所示。這怎麼可能下面的代碼返回global_thread_id=16357138 local_thread_id=16357139 current_global=16357139
(意爲本地覆寫先前連接的連接),儘管true在mysql_connect()函數在PHP設置多個數據庫連接不能使用new_link = TRUE和sql.safe_mode = OFF
此外,sql.safe_mode = OFF
// Class static method
static function Query($sql) {
$global_thread_id = mysql_thread_id();
if ($link = mysql_connect(FB_DB_HOST, FB_DB_USER, FB_DB_PASS, true))
{
$local_thread_id = mysql_thread_id($link);
echo 'global_thread_id='.$global_thread_id.' local_thread_id='.$local_thread_id.' current_global='.mysql_thread_id();
}
}
是的我知道了。我的意思是「全局」是我的腳本有一個主要連接在頁面上的任何地方使用,因此mysql_thread_id()沒有$ link來獲取這個主線程ID(因此我稱之爲全局連接),對於我使用的第二個連接$ link資源來獲取我所謂的「本地」線程ID ... – Steve
現在我的問題是mysql_connect()調用mysql_connect()後調用mysql_thread_id()返回的線程ID,儘管'new_link'參數設置爲TRUE – Steve
if你有更多的數據庫連接,在與mysql交談時總是使用$ link varibale,我的方法是有一個數據庫類,其中我將$ link設置爲一個類變量。但如果你要修復所有的mysql調用,你可能想從舊的depricated函數轉移到PDO –