pdo优于mysql_ *或mysqli_ *的优点

时间:2013-04-24 23:58:56

标签: php mysql pdo

我注意到很多人正在使用或迁移到pdo,我之前从未使用过这种情况而且我真的不愿意改变它,我仍然没有改变,但我想知道的是那些人每天使用pdo我为什么要改变它,我的意思是它有什么优于mysql_ *或mysqli_ *,我已经搜索了很多关于这个,但我还没有找到一个满意的答案。感谢

3 个答案:

答案 0 :(得分:2)

这不是关于使用一个应用程序支持多个数据库(尽管您可以谨慎使用)。这不是为了让将来更改数据库变得容易(尽管它有所帮助)。无论数据库如何,都要使用一个一致,合理的界面。这不仅有利于程序员(通过使他们的技能更广泛适用)和项目(通过使程序员更容易进入),它还使得很多更容易创建位于一层的库在数据访问层之上。 Perl拥有20年的DBI,这是一件非常好的事情。 PDO是一个非常相似的概念(事实上它至少窃取了DBI界面的一半)。

答案 1 :(得分:0)

PDO旨在支持对各种形式的SQL数据库的透明访问。它是PHP的所谓“数据访问抽象层”。

如果您将应用程序限制为仅使用SQL99标准查询,则现实生活;中的上述内容应为true。

PDO也是一个可靠的接口,适用于即将构建新数据库扩展的扩展开发人员。他们可以只写一个驱动程序dor PDO,并且可以使用PHP中的一个众所周知的接口访问数据库 - PDO接口。

结论:

  • PDO旨在通过各种数据库类型在PHP中进行类似的数据库访问
  • 如果使用SQL99标准查询,则可以更改数据库产品,只需更改连接字符串
  • 即可
  • PDO是一个众所周知的数据库访问接口,可供扩展程序开发人员使用

答案 2 :(得分:-1)

PDO使两个不同的DBMS之间的迁移更容易。有些人还将它用于支持PDO支持的所有DBMS的应用程序。但请注意,这通常是一种错误的做法:如果你不太了解软件,你不应该对你的用户说你支持它,因为你会说谎 - 因为你无法解决现实生活中的问题。

mysqli不是一个抽象。它是MySQL快速可靠的API,应该是首选。