错误消息:“mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 为资源,给定布尔值”
调用需要资源作为第一个参数的函数时会发生此错误,但是而是传递布尔值。在这种特定情况下,它表明查询失败,导致返回错误值。
解决方案:
要解决此问题,请检查以下结果MySQL 查询,然后将其传递给数据检索函数。在 PHP 的 mysql_ 扩展中,使用 mysql_query() 并测试其返回值。如果查询失败,您可以相应地处理错误或发出触发器。
这是一个改进的错误处理示例:
<?php $username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if ($result === FALSE) { trigger_error(mysql_error(), E_USER_ERROR); } while ($row = mysql_fetch_array($result)) { echo $row['FirstName']; } ?>
通过使用 mysql_real_escape_string() 来清理用户输入,您可以还可以防止 SQL 注入攻击,这可能会导致查询失败。
以上是为什么我在 PHP 中收到'mysql_fetch_array() 期望参数 1 为资源,给定布尔值”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!