問題描述
WordPress 程式碼庫是否使用 mysqli 或 PDO?
我知道 PDO 優於 mysqli,但是 mysqli 也不錯。加上從 PDO 優於 mysqli(即資料庫不可知論) 的功能之一併不意味著對 WordPress 而言,WordPress 將始終使用 mysql 伺服器。但是使用資料型別繫結引數是 PDO 支援的,但是 mysqli 並不是件好事。
我的膽量告訴我,WordPress 確實使用 mysqli,但我看不到程式碼庫。
我的第二個問題是,如果 WordPress 使用 mysqli,是因為速度的考慮,還是因為早些時候 (正在開發 WP) 的時候,PDO 不只是在那裡?
最佳解決方案
WordPress 使用 mysql_*功能。
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/wp-db.php
自從我記得以來,它已經使用過,這可能是你最後一個問題的答案。這是我將會考慮的遺留程式碼。我懷疑它會很快更新 (這些功能只是從 PHP 5.5 開始,我相信) 。我不知道哪條路線的發展會去。
連結到 Trac 的票,由 Wyck 提供 (來自以下評論):
http://core.trac.wordpress.org/ticket/21663
次佳解決方案
WordPress 3.9+的更新 – 用 PHP 5.5 棄用了 mysql_*功能如果在伺服器上可用,則 Wordpress 已開始使用 mysqli 。您未來的外掛和程式碼應考慮到這一點,並停止使用 mysql_*。現在,在 3.9 中,wordpress 檢查 mysqli 的可用性,並使用它 (如果可用) 。如果不是,它使用 mysql_*,但是這個檢查將盡可能早地被刪除。在路上,似乎他們將使用 PDO,但這是一個更大的專案。
這是一個常見問題和公告:
http://make.wordpress.org/core/2014/04/07/mysql-in-wordpress-3-9/
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。