PHP可以利用擴充套件、框架進行對資料庫的CURD操作。當連線MySQL資料庫服務器的時候,PHP中提供的用於MySQL的主要API有三種:mysql擴充套件、mysqli擴充套件、PHP資料物件PDO。
PHP對資料庫MySQL的連線操作以下示例這幾種方式連線資料庫的程式碼。
MySQL的使用者配置:
$host = 'localhost'; //連線的資料庫埠號
$user = 'root'; //連線資料庫的使用者名稱
$pass = ''; //連線資料庫的密碼
mysql擴充套件連線資料庫
$mysql = mysql_connect($host, $user, $pass); //使用mysql_connect函式進行資料庫連線
mysql_select_db('imooc'); //通過mysql_select_db函式來選擇資料庫
mysqli擴充套件連線資料庫
$mysqli = new mysqli($host,$user,$pass,'imooc'); //面向物件的方法例項化mysqli物件
PDO資料庫抽象層訪問資料庫
$dsn = 'mysql:host=localhost;dbname=imooc';
$pdo = new PDO($dsn,$user,$pass); //例項化PDO物件
Yii框架進行資料庫訪問
$db = new yiidbConnection([
'dsn' => 'mysql:host=localhost;dbname=imooc',
'username' => 'root',
'password' => '',
]);
php在5版本之前是沒有面向物件的這個概念的。由於mysql擴充套件從php 5.5開始棄用,所以官方不推薦大家使用mysql擴充套件,而是用mysqli或PDO來代替。
mysql是面向過程的一套函式,mysqli和pdo是面向物件的。相對於面向過程的mysql擴充套件,面向物件的.方便之處顯而易見:
不再呼叫mysql_select_db這個具體的功能函式來選擇某個資料庫,直接就是一個封裝好的類,以更快的速度和更好的安全性來完成操作,也不需要像面向過程一樣依次呼叫。
PDO比mysqli相比較,除了共有的高效能,靈活性和麵向物件的特性以外,它還具有編碼一致性這一亮點。也就是可以使得你的PHP應用不去關心具體要連線的資料庫伺服器系統型別,可以在任何需要的時候無縫切換資料庫伺服器。PDO支援的常用資料庫有:Oracle、MySQL、Microsoft SQL Server、Firebird......