是否建议将旧的 php 项目从 mysql 更新到 mysqli


Is it advisable to update an old php project from mysql to mysqli?

我在这里读到,不再建议使用旧的mysql函数。但是,努力更新已经完善且正在运行的项目中的代码以便仅使用 mysqli 功能有什么用吗?

会有什么好处?
哪些安全问题将得到加强?

如果您在当前项目中拥有良好的安全性,那么它就不会得到增强。
但是,PHP用户混淆安全措施是极其普遍的习惯,因此,您必须仔细检查。比如说,如果你使用的是自制版本的魔术报价,通过转义所有输入参数 - 你就处于危险之中。尽管更改了驱动程序,但您仍需要审核安全性。
不过,您可以在不迁移到 mysqli 的情况下实现它们。

至于好处 - 与重写的所有痛苦相比,没有。

如果你还在想重写,我有一个建议:
与其从一个原始 API 重写到另一个原始 API,我建议您采用一些数据库抽象库,将所有代码中的原始 API 调用移动到一个紧凑的位置。
它不仅会使你的代码大大缩短,而且在未来也会有所帮助,当有人心血来潮反过来弃用 mysqli 时 - 你只需要重写类的方法,而不是所有代码。

升级到 PHP mysqli 扩展将获得的主要好处明确列在该页面上:

mysqli扩展有许多好处,与mysql扩展相比,主要增强功能是:

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

安全增强功能通常不会在公共论坛上讨论,因为恶意个人可能会在较旧的、未修补的服务器上使用这些安全问题。可以说,新代码总是有改进,尤其是一个名为MySQL改进扩展的驱动程序。