PHP開發中,使用Mysql擴充套件來連結Mysql資料庫進行增刪改查等操作。
在選擇Mysql擴充套件的時候,官方提供了兩種:
MySQL 原始版。
從 PHP 5.5.0 起這個擴充套件已經被廢棄,並且從 PHP 7.0.0. 開始被移除。
作為替代,可以使用 mysqli 或者 PDO_MySQL 擴充套件代替。
MySQL 增強版。
mysqli擴充套件允許我們訪問MySQL 4.1及以上版本提供的功能。
特性比較
特性 | mysqli | mysql |
---|---|---|
PHP版本 | >=5.0 | >3.0 |
MySQL開發狀態 | 活躍 | 僅維護 |
MySQL建議使用 | 首選 | 建議 |
API的字符集支援 | 是 | 否 |
儲存過程支援情況 | 是 | 否 |
多語句執行支援情況 | 是 | 否 |
是否支援所有MySQL4.1以上功能 | 是 | 否 |
MySQLi 的 i 代表 Improvement。
相關概念
MySQL 與 MySQLi 都是PHP方面的函式集。
在 PHP5 版本以後,增加了mysqli的函式功能。
某種意義上講,它是MySQL系統函式的增強版,更穩定更高效更安全。
連線程式
MySQL 每次連結都會開啟一個連線的程式。
MySQLi 多次執行將使用同一連線程式,減少了伺服器的開銷。
連結方式
<?php
//Mysql連線
$conn = @mysql_connect("localhost", "root", "") or die("資料庫連線錯誤");
mysql_select_db("user", $conn);
mysql_query("set names 'utf8'");
echo "資料庫連線成功";
//Mysqli連線
$conn = mysqli_connect('localhost', 'root', '', 'user');
if (!$conn) {
die("資料庫連線錯誤" . mysqli_connect_error());
} else {
echo"資料庫連線成功";
}複製程式碼
順便說 mysqlnd
Mysql Native驅動(Mysql Native Driver 簡稱:mysqlnd)。
在 PHP5.3.0 版本中被引入。
在 PHP5.4 之後的版本mysqlnd被作為預設配置選項。
由zend公司開發的MySQL資料庫驅動。
mysqlnd 提供了和Zend引擎高度的整合性,更加快速的執行速度,更少的記憶體消耗,利用了PHP的Stream API,以及客戶端快取機制。
由於 mysqlnd 是透過Zend引擎,因此提供更多高階特性,以及有效利用Zend進行加速。
建議
PHP版本為5.x建議使用 mysqli
擴充套件。
PHP版本為7 只能使用 mysqli
擴充套件。
Thanks ~
作者:PHP後端開發者
提供技術相關服務(自己懂的知識)。
QQ群:564557094。
關注微信公眾號,留言即可,看到留言後會及時回覆。