Warning: mysql_fetch_array() expects parameter 2 to be long, resource given in  www/view.php on line 106能取出数据,就是报警告而已确认数据库的连接正常line 106 就是 $result4=mysql_fetch_array($commentquery,$mylink);然后我把$mylink去掉了之后..就不报警告了...弄了一个下午也没找出个答案来..求解释贴出部分代码<?php 
  $comment="select * from comment where id_dian='$ID'";
$commentquery=mysql_query($comment,$mylink);
  $result4=mysql_fetch_array($commentquery,$mylink);
  if($result4=mysql_fetch_array($commentquery))
  {
$i=1;
do{
echo $i."楼--".$result4['username'].": ".$result4['comment']."</br>";
$i++;
}
while($result4=mysql_fetch_array($commentquery));
  }
  else
  {
  echo "暂无评论,我们期待你的参与";
  
  }
?>

解决方案 »

  1.   

    第二个参数是决定返回数组的类型,可能的值有: MYSQL_ASSOC, MYSQL_NUM, and MYSQL_BOTH.
    显然你的 $mylink 是个连接句柄变量,当然不对了。
      

  2.   

    mysql_fetch_array() 的第二个参数是长整形 long
    可能的值有常量 MYSQL_ASSOC (1), MYSQL_NUM (2), MYSQL_BOTH(3) 它们都是在mysql扩展加载时定义的
      

  3.   

    $result4=mysql_fetch_array($commentquery,$mylink);
    这句去掉后面的$mylink,$commentquery就是结果集了.
      

  4.   

    mysql_fetch_array是从某结果集中取出条目,第一个参数就是结果集了,不需要再指连接,取结果集的语句才需要指连接。
    第二个参数作用1楼已经解释了
      

  5.   

    $result4=mysql_fetch_array($commentquery,$mylink);
    $result4=mysql_fetch_array($commentquery);貌似这种做法少见
      

  6.   

    因为你的sql语句查不到数据 $commentquery返回的是false而mysql_fetch_array()第一个参数需要的是资源类型的所以报错  你可以先判断$commentquery再用mysql_fetch_array()