国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

PHP連接與關閉MySQL的管理及基礎函數

2020-03-22 17:28:37
字體:
來源:轉載
供稿:網友
  • 對于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]]]]] )

    當使用mysql_connect()創建一個MySQL連接后,PHP會把這個連接的信息,包括host, username, password與連接資源存儲起來。下次調用mysql_connect()時,PHP會默認檢查是否存在一個參數相同(參數包括host, username, password)的連接資源,如果存在,則直接返回之前創建的資源,而非新建一個MySQL連接。(PS:當兩次調用連接的不是相同服務器時,只能創建新的MySQL連接,舊的連接無法共享)
    只有當手動指定new_link為true時,PHP才會避開這個檢查,直接重新向PHP服務器發起MySQL連接請求。
    這種處理在下面這種情況下就會產生錯誤:

    $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連接。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 林周县| 尼玛县| 巴彦淖尔市| 建水县| 盖州市| 武强县| 定安县| 定陶县| 西宁市| 平安县| 古蔺县| 得荣县| 平阳县| 兴仁县| 嘉义市| 平远县| 湖州市| 天镇县| 娄底市| 香河县| 文昌市| 精河县| 洛阳市| 九寨沟县| 浦江县| 张家界市| 平乡县| 鄂州市| 潜江市| 灵石县| 柯坪县| 达日县| 名山县| 新安县| 洱源县| 颍上县| 德州市| 高陵县| 玉田县| 鄯善县| 桓仁|