gpt4 book ai didi

php - PDO(PHP 数据对象)的缺点

转载 作者:IT王子 更新时间:2023-10-29 00:02:41 27 4
gpt4 key购买 nike

到目前为止,我所读到的关于 PDO(PHP 数据对象)的所有内容都好得令人难以置信。

我的意思是:

  • 它比 mysql 或 mysqli 更快。
  • 它对多个数据库驱动程序具有相同的语法。
  • 使用准备好的语句,它对于 SQL 注入(inject)是安全的。
  • 您可以将数据直接提取到对象中。

但是PDO有什么缺点呢?

最佳答案

Everything I've read so far about PDO (PHP Data Objects) is almost too good to be true.

我每天都使用 PDO,这是有原因的。不过我确实写了一个包装器,因为默认的 PDO 实例做了我不喜欢的事情(例如,静默失败),而且 API 本来可以更好。使用常量进行配置并不是我的默认方法。另外,我还创建了一些方便的方法。

Its faster then mysql or mysqli.

是吗?我不知道你从哪里找到的,这很可能是真的,但我还没有听说过 PDO 比原生 MySQL 库更快。

It has the same syntax for multiple database drivers.

有点。我经常使用 PostgreSQL,而且代码与您使用 MySQL 时不同。不过这是有道理的,因为 PostgreSQL 使用命名序列,而 MySQL 使用“自动增量”,这是每个表的序列。数据库之间存在差异,PDO 无法抽象,即使只是为了数据库访问

with prepared statements it is secure for sql injection.

您可以prepare statements with mysqli也是,所以我不认为这是一个明确的好处。不过,我通常使用准备好的语句,而且我喜欢 PDO 提供的 :field 语法。

But where are the disadvantages of PDO, something that has so many pros must also have a contra.

API 对我来说不够直观,我认为 mysqli 的 API 更有意义。不过,如果您自己为它编写一个包装器,它是一个非常不错的库。这里是 the wrapper I wrote为了让 PDO 的使用更加理智,网上还有更多的例子。

编辑:哦,詹姆斯安德森是对的;它的Oracle支持很差。我不使用 Oracle,所以我不认为这是一个巨大的缺点。

关于php - PDO(PHP 数据对象)的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6621029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com