2012-06-14 97 views
-1

可能重複:
Do I really need to do mysql_close()何時關閉PHP MySQL連接

也許首先要問的是,我甚至需要關閉我的MySQL連接?這是否是在每個腳本結束時自動完成的?

無論如何,在下面的示例中,您可以看到如果從DoStuff()調用DoOtherStuff(),那麼在調用DoOtherStuff()後立即運行MySQL查詢之前,數據庫連接已關閉。現在,打開和關閉MySQL連接的規則是什麼?只要功能需要,我可以不關閉任何連接並打開連接嗎?這會創建超過必要的數據庫連接並使我的代碼變慢嗎?任何提示爲此?我只是在做最好的事情,我感覺有點失落。

function DoStuff(){ 
    $connection = mysql_connect(...); 

    DoOtherStuff(); 

    mysql_query(...);//This won't run 

    mysql_close($connection); 
} 

function DoOtherStuff(){ 
    $connection = mysql_connect(...); 

    //Does other stuff 

    mysql_close($connection); 
} 
+1

您是否試過[閱讀實際手冊](http://am.php.net/manual/en/function.mysql-close.php)? – lanzz

回答

1

不,您不必關閉連接。按the manual

使用mysql_close()通常是沒有必要的,因爲非持久性開放 鏈接在腳本執行結束時自動關閉。 另請參閱釋放資源。

大多數應用程序只有一個數據庫連接,所以實際上不需要存儲連接資源。

0

通常你打開你的腳本開始一次的連接,要麼不要關閉它在所有(這意味着PHP將在腳本的末尾關閉)或關閉它,當你確定你不再需要它了。

在每個函數中打開一個單獨的連接肯定是瘋狂的。你應該有一個位置在你的代碼mysql_connect

+0

這就是我正在努力的。所以最理想的方法是調用所有東西的最高級代碼應該具有mysql_connect。你能回答我關於如果你多次運行mysql_connect怎麼辦的問題嗎?這是否會導致性能問題,或者PHP是否足夠聰明來處理這個問題? – sooprise