PHP 升级:无法使用 mysql_* 函数
从以前的版本(例如 PHP 5.2.0)升级到 PHP 5.5.0 后,开发人员可能会遇到已弃用的 mysql_* 函数的问题。遇到的一个常见错误是:
Deprecated: mysql_real_escape_string()
要解决此问题,建议将已弃用的 mysql_ 函数替换为 mysqli_ 对应函数。例如,应该使用 mysqli_real_escape_string() 而不是 mysql_real_escape_string()。
但是,需要注意的是 mysqli_real_escape_string() 需要两个参数:连接变量和转义字符串。当尝试仅使用一个参数的 mysqli_real_escape_string() 时,可能会遇到以下错误:
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in
要修复此错误,必须将连接变量作为第一个参数传递。该变量是通过使用 mysqli_connect() 建立与数据库的连接来获取的:
<code class="php">$connection = mysqli_connect("host", "username", "password", "database");</code>
可以修改提供的代码示例以正确使用 mysqli_real_escape_string():
<code class="php">$username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password);</code>
它是定期更新 PHP 知识以了解最新的最佳实践并避免此类错误至关重要。或者,考虑使用数据库对象连接到数据库并自动处理转义。
以上是为什么 PHP 升级到 5.5.0 后 mysql_* 函数不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!