2014-10-22 70 views
3

我最近開始學習PHP。我開始知道已經發生了很多變化,SQL現在正在被避免,並被MySQLi所取代,但後來我開始瞭解PDO。我經歷了很多關於這兩個主題的帖子,但每個人都有自己的看法,我很困惑。許多職位都表示MySQLi支持面向過程和麪向對象的方法,而PDO僅支持面向對象的方法。MySQLi和PDO有何區別?

我想知道的是:

  1. 是這兩個(PDO和庫MySQLi)只有兩個做同樣的事情不同的方式或者是他們彼此有什麼不同?

  2. 如果他們只是兩種不同的方式來做同樣的事情,那麼他們之間有什麼區別,哪一個是更好的方式來執行任務?

  3. 如果學習MySQLi,哪一種更好的方法在面向對象和程序之間?

對於某些人來說,這似乎是一個廣泛的問題,但如果任何人都可以針對這三個問題給出具體的答案,我將非常感激。

+1

[開始](http://dk1.php.net/manual/en/intro.pdo.php)[閱讀](HTTP:// dk1.php.net/manual/en/intro.mysqli.php)。 – 2014-10-22 11:05:02

+2

http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059 – 2014-10-22 11:06:13

+0

[MySQL,MySQLi和PDO有什麼區別?](http://stackoverflow.com/questions/2190737/what-is-the-difference-between-mysql-mysqli-and-pdo) – Ankur 2016-12-26 12:47:41

回答

1

PDO是用於訪問databas ES的接口:

PHP的數據對象(PDO)擴展定義的輕量的,一致的接口,用於在PHP訪問數據庫。每個實現PDO接口的數據庫驅動程序都可以將數據庫特定的功能作爲常規擴展功能公開。請注意,您不能使用自己的PDO擴展來執行任何數據庫功能;您必須使用數據庫特定的PDO驅動程序來訪問數據庫服務器。 (source

庫MySQLi是用於訪問MySQL數據庫的擴展:

mysqli擴展允許訪問由MySQL 4.1以上提供的功能。 (source

哪一個你應該使用主要是基於輿論,而不是特別適合於堆棧溢出 格式。

1

當用PHP訪問數據庫時,我們有兩種選擇:MySQLi和PDO。那麼在選擇之前你應該知道什麼?

  1. PDO有12個不同的驅動程序支持,而MYSQLI只有一個,即MYSQL。
  2. PDO使用OOP API,而MySqli同時使用OOP和前導
  3. PDO已命名參數,但MuSqli沒有。
  4. 隨着PDO一個可以具有在客戶端準備語句