PHP擴展 Mysql 與 Mysqli

PHP開發中,使用Mysql擴展來鏈接Mysql資料庫進行增刪改查等操作。

在選擇Mysql擴展的時候,官方提供了兩種:

MySQL 原始版。

Mysql(原始) - Manual

從 PHP 5.5.0 起這個擴展已經被廢棄,並且從 PHP 7.0.0. 開始被移除。

作為替代,可以使用 mysqli 或者 PDO_MySQL 擴展代替。

MySQL 增強版。

PHP: Mysqli - Manual

mysqli擴展允許我們訪問MySQL 4.1及以上版本提供的功能。

特性比較

MySQLi 的 i 代表 Improvement。

相關概念

MySQL 與 MySQLi 都是PHP方面的函數集。

在 PHP5 版本以後,增加了mysqli的函數功能。

某種意義上講,它是MySQL系統函數的增強版,更穩定更高效更安全。

連接進程

MySQL 每次鏈接都會打開一個連接的進程。

MySQLi 多次運行將使用同一連接進程,減少了伺服器的開銷。

鏈接方式

<?phpn //Mysql連接n $conn = @mysql_connect("localhost", "root", "") or die("資料庫連接錯誤");n mysql_select_db("user", $conn);n mysql_query("set names utf8");n echo "資料庫連接成功";nn //Mysqli連接n $conn = mysqli_connect(localhost, root, , user);n if (!$conn) {n die("資料庫連接錯誤" . mysqli_connect_error());n } else {n echo"資料庫連接成功";n }n

順便說 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後端開發者

提供PHP相關技術服務(自己懂的知識)。

QQ群:564557094。

關注微信公眾號,留言即可,看到留言後會及時回復。

微信名稱:IT小圈兒,微信號:ToFeelings,歡迎一起學習。


推薦閱讀:

想非常精通資料庫的話需要哪方面數學?
mysql 每次查詢一條數據查10次 和一次查詢10條數據效率有多少差距?
Stata 中文字元顯示成問號,該怎麼解決?
mysql轉mongodb如何解決ID自增?
MySQL中的 MyISAM 讀的效率高,InnoDB 寫的效率高,原理是什麼?(只針對這兩種存儲引擎的對比)

TAG:PHP开发 | MySQL | Mysqli |