【问题标题】:What PHP / MySQL drivers or Database Abstraction Layers Support Prepared Statements?哪些 PHP / MySQL 驱动程序或数据库抽象层支持准备好的语句?
【发布时间】:2010-09-15 13:14:34
【问题描述】:

我正在开发一个基于默认 PDO 和 PDOStatement 类的扩展版本的项目,因此它使用 PDO 样式命名参数而不是“?”变量的占位符。

但是,客户现在要求我们考虑使用不同的驱动程序,因为他们的 OS X Web Server 版本显然无法轻松安装此驱动程序。那么是否有人知道任何其他数据库抽象库或数据库访问驱动程序,我可以使用我们当前的一组功能轻松扩展它们,这些功能使用像 PDO 那样的命名参数?

【问题讨论】:

  • 嗯,这似乎很奇怪,他们使用的是 php4 还是什么?我认为这些天 php5(编译了 pdo)在 os x 服务器中是默认的。
  • PDO 在 PHP 5.1 及更新版本中默认编译。
  • 我也觉得很奇怪。我只是在说苹果公司的人告诉我们的客户的话。

标签: php pdo prepared-statement database-abstraction


【解决方案1】:

PDO 和 ADODB 都支持prepared statements,但是API 不是很好。大多数框架都提供了其中一个的抽象。

我正在使用 Zend 框架中的 Zend_Db,我强烈推荐它。它有一个用于组合查询的选择类(当针对数据库适配器进行查询时会变成准备好的语句),一个用于处理 CRUD 操作的表类——我将其用作大多数模型的基础等等。

查看here

【讨论】:

  • 我实际上已经构建了一个我们正在使用的自定义抽象层,但是我们的很多自定义框架都模仿 Zend 采用的方法,所以我考虑查看 Zend Framework 模拟命名参数的方式MySQL 驱动程序。
【解决方案2】:

【讨论】:

    【解决方案3】:

    我认为Creole 提供了要求的功能...但我没有尝试。

    【讨论】:

      【解决方案4】:

      我使用过 PEAR::MDB2 和 PDO。 MDB2 的文档有点不稳定,但是一旦你完成了所有工作,它就是一个梦想。

      http://pear.php.net/package/MDB2

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-30
        • 2012-10-03
        • 1970-01-01
        • 1970-01-01
        • 2017-11-05
        • 1970-01-01
        • 2013-07-10
        • 1970-01-01
        相关资源
        最近更新 更多