mysqli簡介

PHP 5的mysqli擴展
在通常情況下,使用PHP構建的應用系統都是搭配着MySQL數據庫,很長時間以來,mysql擴展一直伴隨着PHP與MySQL,併爲二者之間的交互提供了通道。mysql擴展庫提供的相關函數使PHP程序存取MySQL數據庫變得很容易,但是,隨着MySQL的發展,mysql擴展開始出現一些新問題,因爲mysql擴展無法支持MySQL 4.1及其更高版本的新特性。
面對mysql擴展功能上的的不足,PHP的開發人員決定建立一種全新支持PHP 5的MySQL擴展程序,這就是mysqli擴展。
23.5.1  mysqli簡介
mysqli擴展使得用戶可以利用MySQL 4.1及其更高版本的新功能,與mysql擴展相比,mysqli擴展在以下方面有了明顯的提高。
兼容性與維護性:mysqli擴展可以很容易地使用MySQL的新功能,所以mysqli擁有與MySQL更高的兼容性。即使MySQL的新版本又出現了更多功能,mysqli擴展也可以很容易的支持。
面向對象:mysqli擴展已封裝到一個類中,從而可使用面向對象的方式編程。即使對面向對象不瞭解,mysqli擴展也提供了面向過程的編程方式來供用戶選擇。
速度和安全性:mysqli擴展執行的速度要比之前版本的mysql擴展快了很多。mysqli擴展支持MySQL新版本的密碼雜湊(Password Hashes)和驗證程序,更加提高了應用程序的安全性。
預準備語句:預準備語句可提高重複使用的語句的性能,mysqli擴展提供了對預準備語句的支持。
調試功能:mysqli擴展進一步改進了調試功能,提高了開發效率。
要在PHP中使用mysqli擴展,需要在配置文件php.ini中添加如下的設置:
  1. extension=php_mysqli.dll 
如果配置文件中已有上述設置,確保extension前面沒有";",否則將其去掉。下面開始介紹如何使用mysqli擴展來存取數據庫。
2 連接與斷開服務器
mysqli提供了面向對象和麪向過程兩種方式來與數據庫交互,分別看一下這兩種方式。
1.面向對象
在面向對象的方式中,mysqli被封裝成一個類,它的構造方法如下:
  1. __construct ([ string $host [, string $username   
  2. [, string $passwd [, string $dbname 
  3.          [, int $port [, string $socket ]]]]]] ) 
在上述語法中涉及到的參數說明如下。
host:連接的服務器地址。
username:連接數據庫的用戶名,默認值是服務器進程所有者的用戶名。
passwd:連接數據庫的密碼,默認值爲空。
dbname:連接的數據庫名稱。
port:TCP端口號。
socket:UNIX域socket。
要建立與MySQL的連接可以通過其構造方法實例化mysqli類,例如下面的代碼:
  1. <?php  
  2. $db_host="localhost";   //連接的服務器地址  
  3. $db_user="root";    //連接數據庫的用戶名  
  4. $db_psw="root";     //連接數據庫的密碼  
  5. $db_name="sunyang"//連接的數據庫名稱  
  6. $mysqli=new mysqli($db_host,$db_user,$db_psw,$db_name);   
  7. ?> 
mysqli還提供了一個連接MySQL的成員方法connect()。當實例化構造方法爲空的mysqli類時,用mysqli對象調用connect()方法同樣可連接MySQL,例如,下面的代碼:
 
  1. <?php  
  2. $db_host="localhost";   //連接的服務器地址  
  3. $db_user="root";    //連接數據庫的用戶名  
  4. $db_psw="root";     //連接數據庫的密碼  
  5. $db_name="sunyang"//連接的數據庫名稱  
  6. $mysqli=new mysqli();  
  7. $mysqli->connect($db_host,$db_user,$db_psw,$db_name);  
  8. ?> 
關閉與MySQL服務器的連接通過mysqli對象調用close()方法即可,例如:
  1. $mysqli->close(); 
2.面向過程
在面向過程的方式中,mysqli擴展提供了函數mysqli_connect()與MySQL建立連接,該函數的語法格式如下:
  1. mysqli mysqli_connect ([ string $host [, string $username   
  2. [, string $passwd 
  3.                [, string $dbname [, int $port   
  4.                [, string $socket ]]]]]] ) 
mysqli_connect()函數的用法與mysql擴展中的mysql_connect()函數用法十分相似,下面是mysqli_connect()函數的用法示例:
代碼23-27  光盤\codes\第23章\23.5\mysqli_connect.php
  1. <?php  
  2. $connection = mysqli_connect("localhost","root","root","sunyang");  
  3. if ( $connection ) {  
  4.     echo "數據庫連接成功";  
  5. }else {  
  6.     echo "數據庫連接失敗";  
  7. }  
  8. ?> 
關閉與MySQL服務器的連接使用mysqli_close()函數,例如:
  1. mysqli_close(); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章