php - 切换到 mysqli 还是继续使用 mysql?

标签 php mysql mysqli

我们这里有一个应用程序已经开发(现在正在生产)一年多了。其中总共有超过 500 个 mysql_* 调用。

是否值得将代码中的所有 mysql_* 切换为mysqli_*

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

我从这样的问题中看到:Changing this from MySQL to MySQLi?在每次 mysql* 调用后添加 i 可能会导致很多错误。值得我花时间吗?

mysql_* 可能会长期存在(即使在弃用的谣言中),所以它真的值得任何程序员花时间有条不紊地切换吗?

See also this discussion

最佳答案

引用manual for ext/mysqli :

The mysqli extension has a number of benefits, the key enhancements over the mysql extension being:

  • Object-oriented interface
  • Support for Prepared Statements
  • Support for Multiple Statements
  • Support for Transactions
  • Enhanced debugging capabilities
  • Embedded server support

Note: If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use this extension.

如果您只需要这些功能中的一个并且能够负担得起重构,那么是的,那就去做吧。如果您不需要任何这些功能,那么请不要这样做。如果没有好处,就没有理由重构。

On a sidenote, the rumors are true. ext/mysql will likely be deprecated (虽然在撰写本文时没有人能说出什么时候。它肯定不会在 5.4 中被弃用。并且它可能会永远作为 pecl 扩展可用)无论如何,您不应该再使用 ext/mysql 开始任何新项目当你有一个更好的扩展开始时。

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

关于php - 切换到 mysqli 还是继续使用 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7206599/

相关文章:

php - 如何减少获得此结果所需的查询数量

php - require_once 似乎并没有影响所有功能?

php - 将 MySQL 日期转换为 PostgreSQL 日期

php - 如何从 CodeIgniter Controller 中转储 var_dump

php - RSS 提要 PHP/MySQL

php - Laravel Blade 模板 : combine string with variable from controller for @yield parameter

php - 尽管在 mysql 数据库中可用,但 Codeigniter 未获取数据

mysql - 计算不同条件下的 2 列

php - 检查 mysql_query() 是否返回任何结果的正确方法是什么?

php - 按字符串的一部分对数据库进行排序?