您的问题没有简单的答案,因为几乎所有简单的方法都涉及在编写应用程序时以不同的方式做事。
如果您在整个代码中直接调用 mysql_* 函数,并且没有通过帮助类或函数进行查询的数据库抽象层,那么您将需要编辑每个命令。
您不能只是在 mysql_query 之类的命令中添加 i,因为程序mysqli_query()
上要求第一个参数是到 db 的链接,mysql_query()
如果有连接,它是第二个参数。
而不是仅仅将 mysql_query(...) 更改为 mysqli_query($link,.....) 我会建议没有更好的时间来放置一个 db 抽象层。因此,请使用实际处理您的查询的函数,例如 sql_query(),以便将来如果您需要再次更改数据库,您只需更新一个抽象文件中的数据库特定命令。这样,如果您编写一个包装 mysqli_query 的函数,那么您可以简单地将 mysql_query() 重命名为您的辅助函数,并让辅助函数担心将链接放在那里。
虽然这是最简单的方法,但它不会绑定参数或准备语句,这是防止 sql 注入漏洞的主要因素
更改所有这些命令后,您需要进行测试。
如果您没有编写自动化测试,那么这可能是开始编写它们的好时机。即使您需要检查每个更改是否有效,但如果您通过自动化测试进行,那么您将来可以避免这种痛苦。