Warning: mysql_fetch_assoc() expects parameter 1 to be resource解决方法

在学习PHP时遇到警告:'mysql_fetch_assoc()' 预期参数1为资源,实际给定布尔值。问题源于数据库无数据导致函数返回false。解决方案是在调用函数前检查$result。正确代码示例给出,避免了错误发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天碰到arning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in,下面我们来看看解决办法吧。

今天学习php的时候遇到了这个错误:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:xampphtdocsmyblogindex.php on line 15

源代码是:

 代码如下 复制代码

 <?php

 $sql="select entries.*,categories.cat from entries,categorie where entries.cat_id=categories.id order by dateposted desc limit 1;";
 $result=mysql_query($sql);
      $row=mysql_fetch_assoc($result);
      echo "<h2><a href='viewentry.php?id=" . $row['id'] . "'>" . $row['subject'] . "</a></h2><br/>"; 
      echo "<i> in <a href='viewcat.php?id=" . $row['cat_id'] . "'>" . $row['cat'] . "</a> - Posted on " . date("D js F Y g.iA",strtotime($row['dateposted'])) . "</i>";
    echo "<p>";
    echo nl2br($row['body']);
    echo "</p>";

百度了一下,找到了解决办法!他出错的原因是因为数据库中没有数据导致musql_fetch_assoc()函数返回值为false,所以下面的$row['']使用就出错了!

所以在使用mysql_fetch_assoc() 函数的时候先对$result做判断!

代码如下:

 代码如下 复制代码

<?php

 $sql="select entries.*,categories.cat from entries,categorie where entries.cat_id=categories.id order by dateposted desc limit 1;";
 $result=mysql_query($sql);
 if($result){
      $row=mysql_fetch_assoc($result);
      echo "<h2><a href='viewentry.php?id=" . $row['id'] . "'>" . $row['subject'] . "</a></h2><br/>"; 
      echo "<i> in <a href='viewcat.php?id=" . $row['cat_id'] . "'>" . $row['cat'] . "</a> - Posted on " . date("D js F Y g.iA",strtotime($row['dateposted'])) . "</i>";
    echo "<p>";
    echo nl2br($row['body']);
    echo "</p>";
 }
 else{
   echo "没有文章";
 }

?>

        这样就不会报错了!

----------------------------------------------------------------------------------------------------------------------------------

注释:mysql_fetch_assoc() 函数

定义和用法
mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。

返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。

语法
mysql_fetch_assoc(data)参数 描述 
data 必需。要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。

提示和注释
注释:mysql_fetch_assoc() 和用 mysql_fetch_array() 加上第二个可选参数 MYSQL_ASSOC 完全相同。它仅仅返回关联数组。这也是 mysql_fetch_array() 初始的工作方式。

提示:如果在关联索引之外还需要数字索引,用 mysql_fetch_array()。

注释:本函数返回的字段名是区分大小写的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值