国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > Warning: mysql_fetch_assoc() expects parameter 1 to be resource

Warning: mysql_fetch_assoc() expects parameter 1 to be resource

来源:程序员人生   发布时间:2014-05-29 20:53:30 阅读次数:3401次

今天学习php的时候遇到了这个错误:Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:xampphtdocsmyblogindex.php on line 15

源代码是:

  1. <?php 
  2.  $sql="select entries.*,categories.cat from entries,categorie where entries.cat_id=categories.id order by dateposted desc limit 1;"
  3.  $result=mysql_query($sql); 
  4.       $row=mysql_fetch_assoc($result); 
  5.       echo "<h2><a href='viewentry.php?id=" . $row['id'] . "'>" . $row['subject'] . "</a></h2><br/>";  
  6.       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>"
  7.     echo "<p>"
  8.     echo nl2br($row['body']); 
  9.     echo "</p>"

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

  1. <?php 
  2.  $sql="select entries.*,categories.cat from entries,categorie where entries.cat_id=categories.id order by dateposted desc limit 1;"
  3.  $result=mysql_query($sql); 
  4.  if($result){ 
  5.       $row=mysql_fetch_assoc($result); 
  6.       echo "<h2><a href='viewentry.php?id=" . $row['id'] . "'>" . $row['subject'] . "</a></h2><br/>";  
  7.       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>"
  8.     echo "<p>"
  9.     echo nl2br($row['body']); 
  10.     echo "</p>"
  11.  } 
  12.  else
  13.    echo "没有文章"
  14.  } 
  15. ?> 

这样就不会报错了,注释: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()。

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

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生