Zend db 适配器 mysqli 或 PDO_MYSQL

Posted

技术标签:

【中文标题】Zend db 适配器 mysqli 或 PDO_MYSQL【英文标题】:Zend db adapter mysqli or PDO_MYSQL 【发布时间】:2011-04-20 03:13:21 【问题描述】:

我在 application.ini 中看到了几个执行此操作的代码示例

resources.db.adapter = mysqli

or 

resources.db.adapter = PDO_MYSQL

两者之间的真正区别是什么?它会影响我的代码吗?我什么时候应该选择其中之一?

【问题讨论】:

【参考方案1】:

我通过 1.0 版本为 Zend Framework 开发了很多 Zend_Db 组件。适配器的目标是相同的,或者尽可能接近 php 扩展所支持的功能。

可以针对两个 MySQL 适配器运行相同的单元测试集,几乎没有区别。在性能方面,没有可衡量的差异。

您会选择其中一个的原因,以及我们完全支持 Mysqli 而不仅仅是 PDO_MySQL 的唯一原因是您需要部署到没有启用 PDO 扩展的 PHP 环境,并且您无权修改环境。例如,商品托管环境。

【讨论】:

这是您回答的有关性能的线程,***.com/questions/171400/…【参考方案2】:

当您使用 CPANEL 在 Web 服务器(共享主机)上部署应用程序时,

    使用phpinfo(); 检查是否启用了 PDO。如果启用,那么您可以使用resources.db.adapter = PDO_MYSQL 如果未启用 PDO,您必须使用替代方案 resources.db.adapter = mysqli

【讨论】:

以上是关于Zend db 适配器 mysqli 或 PDO_MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

pdo 相对于 mysql_* 或 mysqli_* 的优势 [重复]

如何使用 Zend_Db 获取 Sqlite 数据库的最后插入 ID

如果 PDO 和 mysqli 不可用,使用 mysql_* 函数是不是安全?

mysql_select_db被废除后在php7用啥?

Zend Framework和SQL Server

mysql,mysqli和PDO的区别