2015-01-14 53 views
1

我想知道,如果mysqli_connect()會在腳本結尾處自動關閉。我知道,那mysql_connect()確實,但我在談論改進mysqli_connect() ..我也找到了答案的問題,這是說,但在官方文件中它不寫。所以,我可以依靠那些不是官方聲明? (或者更好地問,依靠它們是安全的嗎?)腳本結束時mysqli_connect會自動關閉嗎?

+1

非官方聲明是正確的 - 它會在腳本終止時自動關閉。 如果你不相信非官方的聲明(包括這個),只需要做一個簡單的測試 - 啓動一個帶有MySQL的虛擬機和一個類似於5的'max_connections'設置,然後嘗試刷新一個測試PHP腳本10- 15次。它仍然會工作。 – ceejayoz

+0

你會在這裏看到一些['非官方官員'](http://php.net/manual/en/mysqli.close.php)的東西。它確實關閉。 –

+0

好的,謝謝你們,這就是我想聽到的;)其他的聲明沒有任何理由,你用max_connection的原因很好.. – Risinek

回答

3

以下是您應該考慮的問題。當腳本終止時,MySql連接會自動關閉。但是,如果腳本在檢索並存儲數據或將其存儲到數組之後執行了大量處理,則明確關閉連接會更安全,因此您不會面臨可用連接耗盡的機會該腳本正忙於運行發佈數據檢索例程。對我而言,我只是明確地關閉了連接。這是我開發的一種習慣,我的手指自動輸入命令。

+0

謝謝你的回答。我只是想知道在連接的die()/ exit()函數後會發生什麼,因爲我在mysqli_query()函數之後使用它來處理錯誤。在這一點上,腳本沒有顯式地離開mysqli_close() – Risinek

+1

由於die()會立即終止腳本,所以您無需擔心。連接已關閉。 –