首页 >数据库 >mysql教程 >为什么我在 PHP 中收到'mysql_fetch_array() 期望参数 1 为资源,给定布尔值”错误?

为什么我在 PHP 中收到'mysql_fetch_array() 期望参数 1 为资源,给定布尔值”错误?

DDD
DDD原创
2024-12-22 06:05:09580浏览

Why Am I Getting the

错误消息:“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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn