對于PHP程序來來說,html' target='_blank'>MySQL是一種稀缺的資源。MySQL默認最大連接數為100,也即是最多接受100個MySQL的客戶端連接。因此,PHP在使用MySQL連接時做了一些優化的處理。這些優化,可能對性能有所提升,但對使用MySQL連接的使用卻也造成一些困惑。
創建MySQL連接:
resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )
$conn1 = mysql_connect($dbhost, $dbuser, $dbpwd);mysql_select_db('database1', $conn1);$conn2 = mysql_connect($dbhost, $dbuser, $dbpwd);mysql_select_db('database2', $conn2);mysql_query('select * from table1', $conn1); 用戶期望在database1查詢table1的信息,但是由于在第二次mysql_connect(),PHP返回的是上一次的MySQL連接資源。因此,對于$conn2中切換數據庫也對$conn1造成了影響,$conn1也同時切換默認到數據庫database2,查詢的信息會是在database2上面的結果。
解決這個問題的方法就是在第二次調用mysql_connect()時,指定new_link為true即可。
關閉MySQL連接:
對于使用mysql_connect()創建的連接資源,對資源變量進行unset()并不能真正地釋放資源,需要調用mysql_close()才能達到釋放MySQL連接資源的效果。
需要注意的是:使用mysql_connect()獲取共享MySQL連接資源時,調用mysql_close()有時并不能釋放MySQL連接,只有當所有共享連接資源都調用mysql_close()時,PHP才會真正釋放MySQL連接。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答