切换到mysqli还是留在mysql?

Nea*_*eal 5 php mysql mysqli

我们这里的应用程序已经开发(现在已投入生产)一年多了.总共超过500个mysql_*电话.

是否值得切换所有mysql_*代码,以mysqli_*

是否值得追逐可能(并且很可能会)出现的所有错误?

我从这样的问题看到:将这个从MySQL更改为MySQLi?只是i在每次mysql*通话后添加都会导致我出现很多错误.值得我花时间吗?

mysql_* 可能会长期(甚至在贬低的谣言中),所以它真的值得任何程序员有时间有条不紊地切换?

另见本讨论

Gor*_*don 4

引用手册ext/mysqli

mysqli 扩展有很多好处,相对于 mysql 扩展的主要增强是:

  • 面向对象的接口
  • 支持准备好的语句
  • 支持多个语句
  • 支持交易
  • 增强的调试能力
  • 嵌入式服务器支持

注意:如果您使用 MySQL 4.1.3 或更高版本,强烈建议您使用此扩展。

如果您只需要其中一项功能并且能够承担重构费用,那么可以,那就去吧。如果您不需要任何这些功能,那么就不要这样做。如果没有好处,就没有理由重构。

顺便说一句,谣言是真的。ext/mysql可能会被弃用(尽管在撰写本文时没有人知道何时弃用。它肯定不会在 5.4 中被弃用。并且它可能会永远作为 pecl 扩展使用)在任何情况下,您都不应该启动任何当您有一个优秀的扩展可以开始时,就不再使用 ext/mysql 的新项目了。

另请参阅http://blog.ulf-wendel.de/2012/php-mysql-why-to-upgrade-extmysql/

  • OOP 支持很差,准备好的语句很慢,多个语句容易注入,嵌入式服务器很荒谬。老实说,没有任何实际好处。 (2认同)