首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该升级我的网站到PDO或MySQLi吗?

我应该升级我的网站到PDO或MySQLi吗?
EN

Stack Overflow用户
提问于 2016-02-25 07:58:25
回答 3查看 1K关注 0票数 5

我已经设计了一个网站在5年前使用PHP MySQL,仍然工作良好,没有任何问题。我听说MySQL在PHP5.5中被正式废除,并在PHP7中被删除。另外,PHP提供了三种不同的API来连接到MySQL (比如MySQL、MySQLi和PDO)。我的web服务器经常更新。

我明白,为了安全起见,我必须使用新的API,如MySQLi或PDO。现在我很困惑是选择MySQLi还是PDO。此外,是否有任何兼容性/迁移选项可用于这种情况?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-25 08:04:41

答案相当简单。

如果像大多数PHP用户一样,您将在应用程序代码中直接使用数据库API函数,而不使用任何中间包装器,那么PDO是您唯一的选择,因为它已经是一种包装器,可以自动执行许多使用mysqli必须手动完成的操作。

不,没有迁移选项,因为方法本身发生了很大的变化:不是将变量放在查询中,而是必须在查询中使用特殊标记替换变量。没有办法使这个过程自动化。

票数 2
EN

Stack Overflow用户

发布于 2016-02-25 08:58:46

让我们看看这两个扩展。

PDO

PDO是与数据库无关的-您只需要学习一个API就可以使用数十个数据库

因此,如果您决定移到另一个数据库,那么唯一需要更改的就是DSN(数据源名称)。

同时支持姓名和“?”准备语句的占位符。

Drupal使用PDO。

Mysqli

另一方面,Mysqli是专门为Mysql数据库设计的,并且是Mysql推荐的。Mysqli使用Mysql和MariaDB数据库。

只支持“?”准备语句的占位符。

Joomla使用Mysqli

结论

对于Mysqli或PDO是否运行得更快,有许多相互矛盾的争论。Mysqli和PDO都使用相同的底层驱动程序访问数据库,因此性能不值得比较。

因此,在使用Mysqli或PDO时,没有明确的赢家。但是假设您使用Mysqli,然后您想要使用另一个数据库,这将是一个很困难的转换。

PDO相对于Mysqli的主要优点是准备语句的名称占位符,这就是为什么我选择PDO而不是Mysqli。

票数 4
EN

Stack Overflow用户

发布于 2016-02-25 08:11:47

PDO和MySQli都用于数据库连接,两者都有各自的优点。仔细看,PDO赢得了这场战斗,但是如果你真的只使用一个数据库提供商,那么我个人的最佳选择就是使用MySQLi。

您还将从以下http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059中提取一些优点

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35621448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档