PHP 升级后的错误处理:过时的 mysql_* 函数
正如您在从 PHP 5.2 升级到 5.5 时发现的那样,您的一些PHP 代码片段遇到与已弃用或过时的 mysql_* 函数相关的错误。让我们探讨这些问题并提供解决方案。
已弃用的 mysql_real_escape_string() 函数
mysql_real_escape_string() 函数用于防止 SQL 注入攻击。然而,它在较新版本的 PHP 中已被弃用,取而代之的是更安全的替代方案。
解决方案: 将 mysql_real_escape_string() 替换为 mysqli_real_escape_string() 以确保持续的可靠性。
mysqli_real_escape_string() 的参数数量不正确
mysqli_real_escape_string() 函数需要两个参数:连接资源和要转义的字符串。在您的示例中,您仅提供一个参数。
解决方案: 建立与数据库的连接并将连接资源传递给 mysqli_real_escape_string() 作为第一个参数。建立连接的语法如下所示:
<code class="php">$connection = mysqli_connect("host", "my_user", "my_password", "my_db");</code>
替代选项:数据库对象
您可以使用而不是每次手动传入连接资源,一个数据库对象来简化这个过程。这种方法涉及如下设置数据库对象:
<code class="php">$mysqli = new mysqli("host", "my_user", "my_password", "my_db");</code>
创建数据库对象后,您可以使用其内置函数来执行数据库操作,而无需显式传入连接资源。例如:
<code class="php">$result = $mysqli->query("SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1");</code>
以上是升级 PHP 后如何修复'Deprecated mysql_* Functions”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!