php - PHP 5.5.x 中弃用的 MySQL 扩展

标签 php mysql mysqli

根据PHP manual , 从 PHP 5.5.x 开始,互联网上有很多资源,整个原始的 MySQL 扩展都被弃用了。我有一个非常强大的 Web 应用程序,我协会的很多学生都在使用它,但是当我不太了解 PHP 并且我从不费心用 MySQLi_* 或 PDO_MySQL 更改 MySQL_* 扩展时,我就开始使用它了.

Web 应用程序已完成,所有系统都在运行,可能不会增加新功能,所以我的问题是:我是否应该花一些时间更改所有 mysql_* 调用并将它们切换为 mysqli_* 调用。如果我将所有内容都保留在已弃用的 mysql_* 扩展名中,我的应用程序是否会在 Internet 上变得无法访问?

最佳答案

Is my application ever going to become inaccessible on the internet if I leave everything with the deprecated mysql_* extension?

只有当运行它的服务器升级到不支持旧 API 的 PHP 版本时,您的应用程序才会中断。如果您的服务器没有升级到 PHP 5.5,那么您的应用程序将无限期地继续运行。在这方面,外部互联网上的任何其他内容都不会影响它;只有升级到您自己的服务器才是相关的。

目前,php 5.4 仍然得到积极支持,因此您可以愉快地使用该版本,而不必担心您的代码突然崩溃。

但是,在将来的某个时候,出于某种原因,您将需要升级到 PHP 5.5 或更高版本。 PHP 5.4 将停产,建议升级到 5.5。或者,如果您使用的是共享主机帐户,您甚至可能无法选择 PHP 版本。所以是的,您应该预料到您当前的代码不能与您当时使用的 PHP 版本一起使用。最终。

因此,虽然没有立即进行转换的紧迫性,但您应该考虑尽快进行转换。您希望的一件事是,当事情破裂的那一天到来时,您会发现自己被困住了。

5.5 才刚刚发布,因此您可能还需要几年时间才能成为可用的最低版本,但请听取我的建议;你不想等到最后一刻。

Should I take some time and change all the mysql_* calls and switch them with mysqli_* calls.

您表示您的应用“非常强大”并且“可能不会得到增强”。所以基本上处于长期只维护阶段。

鉴于这些标准,我会说是的,简单地切换到 mysqli 库是一个明智的举动。所需的更改相当微不足道(听起来您已经掌握了要做什么),并且应该对软件的其余部分几乎没有任何影响。

如果您的代码真正健壮且编写得很好,那么您的代码结构将包含某种数据库层,这意味着您无论如何都无事可做。

如果它的结构不是很好,它可能有很多 mysql_query() 调用分散在代码周围,在这种情况下可能需要更多的工作。在这种情况下,由于无论如何您都在编写代码,您可能会考虑花时间进行一些重组。创建数据库层。也许开始使用准备好的语句。我还建议切换到 PDO 而不是 mysqli。但是你的电话 - 考虑到你在问题中所说的,如果你想做尽可能少的工作是可以理解的。

顺便说一句 - 如果您还没有这样做,您可能还想阅读以下内容:Why shouldn't I use mysql_* functions in PHP?

关于php - PHP 5.5.x 中弃用的 MySQL 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18313955/

相关文章:

PHP 不在 Mac OS X 上使用更新的 OpenSSL

mysql - 查找表中的重复行

php - Mysql 已正确配置远程连接,但 php 代码连接失败?

php - Jeditable 在每次编辑时加倍换行

php - 为什么不能将信息写入/tmp 目录而不是/var/www/html?

mysql - 无法远程将 CSV 加载到 MySQL 中

java - 如何进行字母数字排序

php - 准备好的语句mysqli不返回行

php - num_rows 不适用于准备好的语句

PHP 循环访问 MySQL 数据库