php提示Warning-mysql_fetch_array() expects的解决方法
这篇文章主要了在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程序设计有所帮助。也希望大家能够从中学习和吸取经验,不断提高自己的编程技能和解决问题的能力。
编程语言
- php提示Warning-mysql_fetch_array() expects的解决方法
- aspx中的mysql操作类sqldatasource使用示例分享
- Vue在页面数据渲染完成之后的调用方法
- jquery实现页面常用的返回顶部效果
- drop,truncate与delete的区别
- Vuex简单入门
- js实现基于正则表达式的轻量提示插件
- Laravel5.1自定义500错误页面示例
- Git commit --amend 修改提交信息操作
- easyui window refresh 刷新两次的解决方法(推荐)
- MySQL slow_log表无法修改成innodb引擎详解
- JS中IP地址与整数相互转换的实现代码
- jQuery列表检索功能实现代码
- 基于JavaScript实现的希尔排序算法分析
- 基于JavaScript实现鼠标箭头移动图片跟着移动
- mysql基于正则实现模糊替换字符串的方法分析