從這篇文章開(kāi)始,我們學(xué)習(xí)MySQLi擴(kuò)展??梢哉f(shuō)MySQL(原始)擴(kuò)展是我們很多人剛開(kāi)始學(xué)習(xí)PHP時(shí)連接數(shù)據(jù)庫(kù)的入門(mén)導(dǎo)師?,F(xiàn)在如果想要使用過(guò)程式的代碼來(lái)操作數(shù)據(jù)庫(kù),只能使用mysqli擴(kuò)展了。
關(guān)于 PDO 的學(xué)習(xí)我們告一段落,從這篇文章開(kāi)始,我們繼續(xù)學(xué)習(xí)另外一個(gè) MySQL 擴(kuò)展,也就是除了 PDO 之外的最核心的 MySQLi 擴(kuò)展??梢哉f(shuō)它的祖先,也就是 MySQL(原始) 擴(kuò)展是我們很多人剛開(kāi)始學(xué)習(xí) PHP 時(shí)連接數(shù)據(jù)庫(kù)的入門(mén)導(dǎo)師。不過(guò)隨著時(shí)代的變遷,MySQL(原始) 擴(kuò)展在 PHP7 中已經(jīng)被徹底廢棄了?,F(xiàn)在如果想要使用過(guò)程式的代碼來(lái)操作數(shù)據(jù)庫(kù),只能使用 mysqli 擴(kuò)展了。當(dāng)然,mysqli 擴(kuò)展也是支持面向?qū)ο笫降膶?xiě)法的。
什么是 MySQLi
MySQLi 擴(kuò)展允許我們?cè)L問(wèn) MySQL4.1 及以上版本的數(shù)據(jù)庫(kù)所提供的功能。它是專門(mén)針對(duì)于 MySQL 數(shù)據(jù)庫(kù)的,不像 PDO 可以通過(guò)不同的 dns 來(lái)連接不同的數(shù)據(jù)庫(kù)。
與 MySQL 和 PDO 的區(qū)別與聯(lián)系
首先,我們還是回顧一下最早的 MySQL 擴(kuò)展。
-
只面向過(guò)程
-
不支持 存儲(chǔ)過(guò)程 、 多語(yǔ)句執(zhí)行 、 預(yù)處理語(yǔ)句
-
PHP7 中已經(jīng)刪除了并且完全不支持
然后是 PDO
-
僅支持面向?qū)ο蠓绞绞褂?/p>
-
可以連接多種數(shù)據(jù)庫(kù),切換數(shù)據(jù)庫(kù)帶來(lái)的變更少,甚至可能不用修改代碼
-
支持 存儲(chǔ)過(guò)程 、 多語(yǔ)句執(zhí)行 、 預(yù)處理語(yǔ)句
最后就是 MySQLi 。
-
支持面向?qū)ο蠛兔嫦蜻^(guò)程兩種寫(xiě)法
-
僅支持 MySQL 數(shù)據(jù)庫(kù)
-
支持 存儲(chǔ)過(guò)程 、 多語(yǔ)句執(zhí)行 、 預(yù)處理語(yǔ)句
-
跟隨 PHP 及 MySQL 的版本更新,可以更快速地支持