php中的mysql和mysqli的總結

php中mysql和mysqli的總結

 

首先php—mysql 是 php 操做 mysql 資料庫最原始的的拓展php

而php—mysqli,字母i表明的 Improvement ,提更了相對進階的功能。html

推薦學習和使用mysqlimysql

 

mysql是非持繼鏈接函數而mysqli是永遠鏈接函數sql

也就是說mysql每次連接都會打開一個鏈接的進程數據庫

而mysqli屢次運行mysqli將使用同一鏈接進程,從而減小了服務器的開銷 apache

 

默認狀況下,從php5開始,php不在自動開啓對mysql的支持,而是放到擴展函數庫中。因此用戶須要在拓展函數庫中開啓mysql函數庫服務器

首先打開php.ini 找到「;entensions=php_mysql.dll」,去掉前面的分號註釋函數

保存重啓apache或者iispost

而後能夠經過phpinfo()函數檢查是否配對成功,若是顯示出的php的環境配置信息中有mysql項目,表示已經成功開啓對mysql的支持。學習


mysqli.dll是一個容許以對象的方式或者過程操做數據庫的,它的使用方式也很容易。這裏就幾個常見的操做和 mysql.dll作一個對比。

 
  1:mysql.dll(能夠理解爲函數式的方式): 

複製代碼
$conn = mysql_connect('localhost', 'user', 'password'); //鏈接mysql數據庫 
  mysql_select_db('data_base'); //選擇數據庫 
   
  $result = mysql_query('select * from data_base');//這裏有第二個可選參數,指定打開的鏈接 
  $row = mysql_fetch_row( $result ) ) //爲了簡單,這裏只取一行數據 
  echo $row[0]; //輸出第一個字段的值 
複製代碼

mysqli也有過程式的方式,只不過開始貫以mysqli的前綴,其餘都差很少。

若是mysqli以過程式的方式操做的話, 有些函數必須指定資源

好比說 mysqli_query(資源標識,SQL語句),而且資源標識的參數是放在前面的

而 mysql_query(SQL語句,'可選')的資源標識是放在後面的,而且能夠不指定,它默認是上一個打開的鏈接或資源。

並且mysql_select_db和mysqli_select_db的參數恰好相反。 

這裏須要重點強調的是  php5.5沒法使用mysql_query,須要用mysqli

因此我才接觸到了mysqli 手動滑稽

  2mysqli.dll(對象方式):

複製代碼
$conn = new mysqli('localhost', 'user', 'password','data_base'); 
  //這裏的鏈接是new出來的,最後一個參數是直接指定數據庫,不用mysql_select_db()了 
  //也能夠構造時候不指定,而後 $conn -> select_db('data_base') 
  $result = $conn -> query( 'select * from data_base' ); 
  $row = $result -> fetch_row(); //取一行數據 
  echo row[0]; //輸出第一個字段的值 
複製代碼
相關文章
相關標籤/搜索