国产探花免费观看_亚洲丰满少妇自慰呻吟_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編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 江阴市| 邵阳市| 五峰| 金华市| 故城县| 峨眉山市| 乐东| 贵港市| 长顺县| 蓬安县| 松潘县| 获嘉县| 黄大仙区| 丹寨县| 开化县| 贵南县| 通河县| 新津县| 隆尧县| 建阳市| 万山特区| 攀枝花市| 娄烦县| 呼伦贝尔市| 平和县| 托克逊县| 田东县| 本溪市| 于都县| 罗田县| 琼海市| 博罗县| 宁陵县| 乐安县| 哈尔滨市| 南宫市| 来凤县| 靖江市| 麻栗坡县| 灵石县| 湖北省|