当使用mysql_fetch_array
函数读取数据库查询结果时,如果查询结果为空,则此函数会返回false
,并且会出现警告提示Warning:mysql_fetch_array() expects parameter 1 to be resource, boolean given
。该警告消息提示我们要检查传递给mysql_fetch_array
函数的查询结果资源是否为有效值。 要解决此问题,可以按照以下步骤进行操作。
步骤一:检查SQL查询是否正确
首先需要正确执行SQL查询,检查SQL语句是否存在语法错误,表名、列名是否有误等原因导致查询结果为空。如果查询结果为空则会出现此警告提示。
步骤二:检查mysql_query()函数调用
其次需要检查mysql_query()函数调用是否返回了一个有效的查询结果资源。假设以下示例代码:
$sql="SELECT * FROM user WHERE age > 20"
$result=mysql_query($sql);
如果$result
不是一个有效的查询结果资源,那么调用mysql_fetch_array
函数时就会出现警告。可以通过输出$result
变量来检查是否返回了有效的查询结果,例如:
$sql="SELECT * FROM user WHERE age > 20"
$result=mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
在上面的示例中,如果$result
不是一个有效的查询结果,那么调用mysql_fetch_array
函数时就会退出PHP脚本,并显示一个错误信息。这样就可以很容易地找出问题所在并解决。
示例一:
假设要查询数据库中的user表中年龄大于20的用户信息,以下是示例代码:
$sql = "SELECT * FROM user WHERE age>20";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo $row['name'] . "的年龄是:" . $row['age'];
}
如果该示例代码中数据库查询结果为空时,调用mysql_fetch_array
函数会出现警告。此时需要检查SQL查询语句是否正确以及mysql_query()函数是否正常运行。
示例二:
假设我们需要在用户登录成功之后,查询该用户的详细信息并显示在页面上,以下是示例代码:
$username = $_SESSION['username'];
$sql = "SELECT * FROM user WHERE username='$username'";
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
$row = mysql_fetch_array($result);
echo "您好," . $row['name'] . ",您的年龄是:" . $row['age'];
在该示例代码中,如果查询结果为空时,调用mysql_fetch_array
函数会显示警告提示。此时需要检查SQL查询语句是否正确,以及mysql_query()函数是否正常运行。
通过以上步骤,可以有效地解决mysql_fetch_array() expects parameter 1 to be resource, boolean given
的问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php提示Warning:mysql_fetch_array() expects的解决方法 - Python技术站