两者似乎都试图使用PHP中的数据库让其更简单。 两者似乎都提供了对不同数据库类型(如MySQL、SQLite等)的抽象。
ADOdb和PDO之间有什么区别?
PDO是PHP自5.1版本起的标准(也可在PHP 5.0中通过PECL扩展使用)。大多数主机服务商都已启用它。而AdoDB则不是一个标准的扩展。
此外,我认为PDO驱动程序是“PHP本地”的:它们是基于构建PHP本身的同一库构建的,并且使用相同的底层例程来处理内存管理等事务。因此,潜在地,PDO比AdoDB更轻量级。
根据这份基准测试报告指出,AdoDB比PDO慢得多: (链接已修正) https://gist.github.com/tony-landis/31483
当然,您应该考虑是否重要到足以优先选择PDO或不选择。
从技术角度来看,最显著的区别在于PDO是一个本地扩展,在PHP 5中始终以其快速编译形式包含在PHP中。ADODb也有一个扩展,但您必须先在PHP中安装它。这是支持PDO的强有力的论据,因为基于它的产品在更多的环境中很可能运行得更快。
ADOdb支持的数据库比PDO多。
我认为这取决于个人偏好。ADOdb更适合那些习惯于使用Microsoft数据库访问(ADO)的人,而PDO更像是“PHP”的一部分,也是PHP主流的一部分,而ADOdb则有些不同。
最终,这将基于你的目标数据库(ADOdb支持更多)和你喜欢的语言风格。就我个人而言,我喜欢PDO,它能满足我的需求。
PDO是本地的且相当快速。
ADOdb则是一个更丰富的库,甚至具有ORM(对象关系映射)等功能。
对我来说,PDO最大的缺点是在出现问题时很难调试,因为它没有PHP源代码。当我调试一些复杂的代码时,唯一能看到实际执行的SQL语句的方法是子类化PDO驱动本身...
当然,这都是个人观点!