2015-06-16 95 views
2

我見過的程序員,爲這個在同一個文檔:爲什麼重新打開連接到mysql很重要?

$connection = mysql_connect("localhost","user","password"); 
     $request = "firts request"; 
     mysql_query($request , $connection); 
     mysql_close($conexion); 
$connection = mysql_connect("localhost","user","password"); 
     $request = "second request"; 
     mysql_query($request , $connection); 
     mysql_close($conexion); 

的問題是什麼,如果我不關閉連接?

+0

這並不重要。很多人只是遵循貨物崇拜的範式。關於您需要打開多個連接的唯一時間是如果您需要在兩個+同時連接上使用不同的憑據 –

+0

固定拼寫錯誤(啓用拼寫檢查器),刪除'謝謝'(噪音),編輯標題以提高可讀性 –

+0

謝謝,然後只是特別usei可以做到這一點或ot,是我的選擇。分辯? –

回答

1

首先!現在是通過mysql_ *使用mysqli_ *函數的時候了。 Why?

關於每次打開連接...

請記住,數據庫連接需要「時間」創建,通常你有不同的硬件比你的Web解決方案的數據庫。這意味着每個連接將涉及網絡交換,並且這對於具有高負載用戶/多個連接的解決方案而言是昂貴的。從我的「世界」我們通常使用一些連接模式來重用使用某個連接池創建的連接。從數據庫連接池中,我們重用存在的連接數量,我們可以增加和調整這取決於企業。現在的PHP,你應該檢查MySQLi和p:來實現類似的功能,看到persistent connections

前面加上由對主機:打開一個永久連接。在連接池打開的連接上自動調用mysqli_change_user()。

關於關閉連接,該規範here

打開的連接(以及類似的資源)在腳本執行結束自動銷燬。但是,一旦不再需要,您仍應關閉或釋放所有連接,結果集和語句句柄。這將有助於更快地將資源返回給PHP和MySQL。

如果你在新的PHP應用程序上工作,你也可以考慮從PDO開始,mysql_更容易遷移到mysqli_,但如果這是全新的,你應該檢查PDO。這也會給你持久的連接功能。閱讀更多信息:Api choosingLibrary choosingPDO connections

+0

是的,但真正幫助MrSimpleMind感謝你,我已經看到了視頻教程,在這些視頻教程中,我打開了一個連接,然後應用程序關閉連接,然後再次打開與另一個查詢相同的連接...是同一個連接。爲什麼關閉並重新打開? –

+0

這取決於代碼,程序員等等。有些程序總是打開,處理和關閉。確保例如更新完成是一種習慣。我會說,只要你需要它就保持連接(但在這裏是合理的!),並在結束時關閉它。這將幫助你,不僅在PHP世界。你也許可以分享你正在編寫的代碼,並且接受更多的輸入?當我們看到代碼時討論它會更容易。祝你好運,我的朋友。 – MrSimpleMind

+0

並且關於問題中給出的'如果你不關閉',那麼......什麼都不會發生。關閉將在您的php頁面執行完畢後執行。很多人都會像打開習慣一樣打開,處理,關閉,並讓它們一起可見。它使他們更容易遵循代碼,而不是向上滾動並查看連接打開的位置,功能以及什麼時候關閉等。希望您能理解我的觀點。 – MrSimpleMind

0

有關關閉連接的想法是正確處理資源。開放連接正在消耗服務器上的一些資源。

另外,將連接保持打開狀態可能是一個安全問題。無論如何,在任何其他情況下,您都應根據您的特定代碼的工作方式,在兩個職位之間找到平衡點。

我的答案適用於您使用的任何連接庫,但請注意,mysql_已棄用,並且很快將被刪除。考慮使用myslqi_或更好的開始使用PDO

相關問題