2009-11-10 126 views
0

我有一個登錄頁面,可以獲取用戶名和密碼,並在將它們傳遞給數據庫之前對它們進行清理。php - 與數據庫的多個連接

,這是通過一個函數來完成:

function make_safe($text) { 
    open_db_connection(); //this opens another connection! 

    if(get_magic_quotes_gpc()) { 
    $text = stripslashes($text); 
    } 
    $text = mysql_real_escape_string($text); 
    return $text; 
} 

這個功能是從已打開的連接腳本調用,不過,我發現,我不得不打開INSIDE'make另一個連接___安全()使它工作(否則我得到一個「警告:mysql_real_escape_string()[function.mysql實時逃逸字符串]:拒絕訪問用戶blablabla @本地...」

我想知道:

1)當我打電話make_safe時,我已經打開了連接 - 爲什麼它不夠?

2)打開多個連接有什麼問題?

感謝, 帕特里克

+0

我不是expertin php,但'make_safe'與發生多個連接到數據庫無關,是嗎? – 2009-11-10 00:36:10

+0

o.k.w .: mysql_real_escape_string()需要一個連接來操作。默認情況下,它使用最近打開的連接。所以,是的,多個連接正在打開可能會產生影響。 – 2009-11-10 00:48:25

回答

1

我想你可能需要第二個參數提供給mysql_real_escape_string。

+0

默認情況下,第二個參數是(resource $ linkIdentifier),它將使用上次打開的連接,但您可以指定一個較舊的連接。 – manumoomoo 2009-11-12 03:26:13