问题描述

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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。