PHP 擴充套件 Mysql 與 Mysqli

訢亮發表於2017-03-23

PHP開發中,使用Mysql擴充套件來連結Mysql資料庫進行增刪改查等操作。

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

MySQL 原始版。

cn.php.net/manual/zh/b…

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

作為替代,可以使用 mysqli 或者 PDO_MySQL 擴充套件代替。

PHP 擴充套件 Mysql 與 Mysqli
MySQL 原始版

MySQL 增強版。

cn.php.net/manual/zh/b…

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

特性比較

特性 mysqli mysql
PHP版本 >=5.0 >3.0
MySQL開發狀態 活躍 僅維護
MySQL建議使用 首選 建議
API的字符集支援
儲存過程支援情況
多語句執行支援情況
是否支援所有MySQL4.1以上功能

MySQLi 的 i 代表 Improvement。

PHP 擴充套件 Mysql 與 Mysqli
MySQL 增強版

相關概念

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 擴充套件 Mysql 與 Mysqli
mysqlnd

建議

PHP版本為5.x建議使用 mysqli 擴充套件。

PHP版本為7 只能使用 mysqli 擴充套件。

Thanks ~


作者:PHP後端開發者

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

QQ群:564557094。

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

PHP 擴充套件 Mysql 與 Mysqli
IT小圈兒

相關文章