php提示Warning-mysql_fetch_array() expects的解决方法

网络编程 2025-03-23 22:26www.168986.cn编程入门

这篇文章主要了在PHP程序中遇到的一个常见问题:使用mysql_fetch_array()函数时出现警告:预期参数为资源,却收到布尔值。这是一个典型的PHP程序错误排查案例,对于遇到类似问题的朋友,具有一定的参考和借鉴价值。

在遇到这个问题时,首先我们需要理解,这个警告的出现往往是因为我们尝试在未进行适当检查的SQL查询结果上调用mysql_fetch_array()函数。当SQL查询返回空结果(即没有符合条件的记录)时,mysql_query()函数会返回false,而不是一个有效的结果资源。当我们尝试在这个false值上调用mysql_fetch_array()时,就会出现上述警告。

让我们看一下原始的代码示例:

```php

include("conn.php");

if(!empty($_GET['id'])){

$sql="select from news where `id`='".$_GET['id']."'";

$query=mysql_query($sql);

$rs = mysql_fetch_array($query);

}

```

在这段代码中,即使SQL查询可能返回空结果,我们仍然尝试获取结果。这可能会导致上述警告。为了解决这个问题,我们需要检查查询结果是否为有效的资源。我们可以通过添加一条检查语句来实现这一点,如下:

```php

if(!empty($_GET['id'])){

$sql="select from news where `id`='".$_GET['id']."'";

$query=mysql_query($sql);

if( mysql_num_rows( $query ) > 0 ) {

$rs = mysql_fetch_array($query);

} else {

echo mysql_error();

}

}

```

在这段改进后的代码中,我们首先使用mysql_num_rows()函数检查查询结果是否有行。如果有行(即查询结果是一个有效的资源),我们再调用mysql_fetch_array()函数。否则,我们输出MySQL错误以帮助我们定位问题。这是一种常见的错误处理策略,可以帮助我们避免上述警告,并更准确地定位问题。这个案例强调了规范编程的重要性,尤其是在处理数据库查询时。对于可能出现的错误情况进行适当的检查和处理是非常重要的。希望这篇文章能对大家的PHP程序设计有所帮助。也希望大家能够从中学习和吸取经验,不断提高自己的编程技能和解决问题的能力。

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by