我想从 MySQL 切换到 MySQLi,但我有一个非常大的网站。
我读到了https://wikis.oracle.com/display/mysql/Converting+to+MySQLi https://wikis.oracle.com/display/mysql/Converting+to+MySQLi可以帮助我,我读了我怎样才能将这个 mysql 更改为 mysqli ? https://stackoverflow.com/questions/1390607/how-could-i-change-this-mysql-to-mysqli。它说我只需在函数中添加一个“i”就可以替换大部分函数,并且我应该开始寻找错误。
但我的网站非常复杂且庞大,需要很长时间才能检查一切是否正常。那么:对于一个非常大的网站,从 MySQL 切换到 MySQLi 的最佳方法是什么?
Thanks!
您的问题没有简单的答案,因为几乎所有简单的方法都涉及在编写应用程序时以不同的方式执行操作。
如果您在整个代码中直接调用 mysql_* 函数,并且没有通过帮助器类或函数执行查询的数据库抽象层,那么您将需要编辑每个命令。
您不能像程序上那样在 mysql_query 之类的命令中添加 imysqli_query()
要求第一个参数是数据库的链接,其中mysql_query()
如果确实给出了连接,那么它就是第二个参数。
我建议现在是放置数据库抽象层的最佳时机,而不是仅仅将 mysql_query(...) 更改为 mysqli_query($link,.....) 。因此,请使用实际处理查询的函数,例如 sql_query() ,这样将来如果您需要再次更改数据库,您只需更新一个抽象文件中的数据库特定命令即可。这样,如果您编写一个包装 mysqli_query 的函数,那么您可以简单地将 mysql_query() 重命名为辅助函数,并让辅助函数负责将链接放在那里。
虽然这是最简单的方法,但它不会绑定参数或准备语句,这是防止sql注入漏洞的主要因素
更改所有这些命令后,您需要进行测试。
如果您没有编写自动化测试,那么现在可能是开始编写它们的好时机。尽管您需要检查每个更改是否有效,但如果您通过自动化测试来完成,那么您可以避免将来的痛苦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)