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

首頁 > 數據庫 > MySQL > 正文

php mysql mysqli區別比較詳解

2024-07-24 12:38:58
字體:
來源:轉載
供稿:網友

文章今天來分析一下在php中的兩種數據庫連接方法mysql,mysqli以前我都是用mysql很少用mysqli,原因mysqli是php默認配置中是沒有開啟的下面我們來看它們之間各自的優點和不足吧.

mysql是非持繼連接函數而mysqli是永遠連接函數,也就是說mysql每次鏈接都會打開一個連接的進程而mysqli多次運行mysqli將使用同一連接進程,從而減少了服務器的開銷,有些朋友在編程的時候,使用new mysqli('localhost', usenamer', 'password', 'databasename');總是報錯,Fatal error: Class 'mysqli' not found in d:...

mysqli類不是php自帶的嗎?

不是默認開啟的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli編譯進去,實例:mysql.dll(可以理解為函數式的方式),代碼如下:

  1. $conn = mysql_connect(‘localhost’, ‘user’, ‘password’); //連接mysql數據庫 
  2.   mysql_select_db(‘data_base’); //選擇數據庫 
  3.   //Vevb.com 
  4.   $result = mysql_query(‘select * from data_base’);//這里有第二個可選參數,指定打開的連接 
  5.  
  6.   $row = mysql_fetch_row( $result ) ) //為了簡單,這里只取一行數據 
  7.   echo $row[0]; //輸出第一個字段的值 

mysql_pconnect打開的連接不會關閉,即使調用mysql_close也不會關閉,因為對其無效,類似于連接緩沖池,如果下次有來自于同一個機器的同一個用戶名,對同一個數據庫的連接,php會自動使用上次已經建立的連接,而不需要再重新建立一個.

好處:是省去了每次與數據庫建立連接的開銷.

壞處:是需要浪費一些內存,占用一些連接.

所以如果用戶訪問量大的時候會出現錯誤,要把mysql的max_connections參數改大一點,或者使用mysql_connect()就解決問題.

mysqli也有過程式的方式,只不過開始貫以mysqli的前綴,其他都差不多,如果mysqli以過程式的方式操作的話,有些函數必須指定資源,比如說 mysqli_query(資源標識,SQL語句),并且資源標識的參數是放在前面的,而mysql_query(SQL語句,’可選’)的資源標識是放在后面的,并且可以不指定,它默認是上一個打開的連接或資源.

實例:mysqli.dll(對象方式),代碼如下:

  1. $conn = new mysqli(‘localhost’, ‘user’, ‘password’,'data_base’); 
  2. //這里的連接是new出來的,最后一個參數是直接指定數據庫,不用mysql_select_db()了 
  3. //也可以構造時候不指定,然后 $conn -> select_db(‘data_base’) 
  4. $result = $conn -> query( ‘select * from data_base’ ); 
  5. $row = $result -> fetch_row();  //取一行數據 
  6. echo row[0]; //輸出第一個字段的值  

-可以和mysql.dll一樣的方式使用;

-支持OO接口,簡簡單單調用;

-支持MYSQL4.引入的新特性;

-通過mysqli_init() 等相關函數,可以設置高級連接選項.

一般安裝時選擇MySQL,因為有的服務器不支持MySQLi.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正定县| 云浮市| 尉犁县| 宣武区| 育儿| 双城市| 固始县| 高安市| 沈丘县| 台山市| 梅州市| 襄城县| 馆陶县| 玛多县| 罗山县| 崇信县| 丹东市| 织金县| 东宁县| 元江| 家居| 博野县| 辛集市| 平遥县| 巴林右旗| 鄯善县| 涟水县| 陈巴尔虎旗| 平度市| 汉寿县| 砀山县| 莫力| 建始县| 石柱| 宁津县| 安塞县| 中西区| 房产| 积石山| 安西县| 新邵县|