PHP擴充套件資料庫連線引數說明詳解
名詞解釋:
mysqli,mysqlnd,pdo到底是什麼?,有什麼用途?
MySQL: This extension is deprecated as of PHP 5.5.0, and has been removed as of php 7.0.0.
MYSQLI: mysql Improved Extension
MySQLND: MySQL Native Drive
PDO:The PHP Data Objects。extension defines a lightweight, consistent interface for accessing databases in PHP。
以上,摘自 PHP官方手冊:
以下為中文翻譯:
MYSQL 也叫 Original MySQL,PHP4版本的MYSQL擴充套件,從PHP5起已經被廢棄,並從PHP7中移除。
MYSQLI 叫做 “MySQL增強擴充套件”。
MYSQLND MYSQL NATIVE DIRVER 叫做MYSQL “官方驅動”或者更加直接點的叫做“原生驅動”
PDO PHP Data Objects PHP資料物件,是PHP應用中的一個資料庫抽象層規範。
再補充幾個名詞解釋:
1 、什麼是API?
一個應用程式介面(Application Programming Interface的縮寫),定義了類,方法,函式,變數等等一切 你的應用程式中為了完成特定任務而需要呼叫的內容。在PHP應用程式需要和資料庫進行互動的時候所需要的API 通常是透過PHP擴充套件暴露出來(給終端PHP程式設計師呼叫)。
上文所說的MYSQL 和MYSQLI擴充套件就提供了這樣的API。
2、什麼是驅動?
驅動是一段設計用來於一種特定型別的資料庫伺服器進行互動的軟體程式碼。驅動可能會呼叫一些庫,
比如MySQL客戶端庫或者MySQL Native驅動庫。 這些庫實現了用於和MySQL資料庫伺服器進行互動的底層協議。
從PHP擴充的角度上看,MYSQL和MYSQLi還是比較上層的擴充,依賴更底層的庫去連線和訪問資料庫。
上文所說的MYSQLND 就是所說的底層的資料庫驅動。當然,還有一個驅動叫做libmysqlclient。
小結:
從應用的層面上看,我們透過PHP 的MYSQL或者MYSQLi擴充套件提供的API去運算元據庫。
從底層來看,MYSQLND提供了底層和資料庫互動的支援(可以簡單理解為和MySQL server進行網路協議互動)。
而PDO,則提供了一個統一的API介面,使得你的PHP應用不去關心具體要連線的資料庫伺服器系統型別。也就是說,如果你使用PDO的API,可以在任何需要的時候無縫切換資料庫伺服器。比如MYSQL,SQLITE任何資料庫都行。
即從大部分功能上看,PDO提供的API介面和MYSQLI提供的介面對於普通的增刪改查效果是一致的。
透過PHP程式碼理解:
MYSQL連線:
123456 |
|
MYSQLI連線:
12345678 |
|
PDO連線:
12345678 |
|
注意常用引數
--enable-pdo
--with-pdo-mysql
--enable-mysqlnd
--with-mysqli
--with-mysql //php7的已經不再支援,無論是編譯還是yum安裝都會報ERROR
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/132/viewspace-2803318/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- postgresql資料庫重要引數說明SQL資料庫
- 《基於 swoole 擴充套件實現真正的 PHP 資料庫連線池》讀後感套件PHP資料庫
- DBCP連線池配置引數說明
- PHP的SPL擴充套件庫(一)資料結構PHP套件資料結構
- 擴充套件說明: 指令微調 Llama 2套件
- PHP FFI詳解 - 一種全新的PHP擴充套件方式PHP套件
- php mysqli擴充套件庫的使用PHPMySql套件
- PHP 資料庫擴充之 PDOPHP資料庫
- 如何透過連線資料庫的方式對線下應用進行線上擴充套件資料庫套件
- mysqldump引數詳細說明MySql
- 新增php擴充套件PHP套件
- php ubuntu 擴充套件PHPUbuntu套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- Istio Proxy【Envoy擴充套件】詳解套件
- mydumper備份資料庫詳解(已詳細說明)資料庫
- 【AMM】關於資料庫例項AMM引數說明資料庫
- asp.net連線資料庫(SQL Server 2005 Express)詳細說明ASP.NET資料庫SQLServerExpress
- (轉)PHP連線資料庫之PHP連線MYSQL資料庫程式碼PHP資料庫MySql
- PHP的SPL擴充套件庫(四)函式PHP套件函式
- PHP的SPL擴充套件庫(三)迭代器PHP套件
- Solon詳解(六)- Solon的校驗擴充套件框架使用與擴充套件套件框架
- 開發php擴充套件PHP套件
- PHP 擴充套件安裝PHP套件
- PHP7擴充套件PHP套件
- Sql最佳化(九) 程式的可擴充套件性-- 短連線的危害,以及資料庫連線(connection)管理SQL套件資料庫
- 擴充套件中國剩餘定理詳解套件
- GBASE觀察:擴充套件分析型資料庫套件資料庫
- PHP 連線access資料庫PHP資料庫
- PHP連線MySql資料庫PHPMySql資料庫
- php連線多資料庫PHP資料庫
- PHP——連線資料庫初PHP資料庫
- php7安裝redis擴充套件和memcache擴充套件PHPRedis套件
- 大資料——Scala擴充套件大資料套件
- 資料庫連線池技術詳解資料庫
- 資料塊、資料擴充套件、段套件
- 在 Homestead 環境下為 PHP 新增 Oracle 資料庫擴充套件(OCI)PHPOracle資料庫套件
- 線段樹擴充套件套件
- PHP安裝redis擴充套件PHPRedis套件