PHP连mysql报错Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\web\index2.php on line 378
查询语句写的没错,原来用着没有问题,重装了一次系统,把win2000换成了win2003,在连数据库就不能用了,请问这是怎么回事啊?

解决方案 »

  1.   

    这报的是sql的错误,应该是sql出了问题,把代码贴出来吧
      

  2.   

    <?
    $cmdb="select * from news where sortid='1' order by id desc";
    $query=mysql_query($cmdb,$connect); 
    for ($i=1;$i<=5;$i++){ 
    $array=mysql_fetch_array($query); 
    ?>
      

  3.   


    SQL语句好像没有问题,楼主把代码改为:
    <?php
    $cmdb="select * from news where sortid=1 order by id desc";
    $query=mysql_query($cmdb,$connect);
    $i=1;
    while(($array=mysql_fetch_array($query)) && ($i<=5))
    {
    $i++;
    }
    ?>
    $array=mysql_fetch_array($query);这样好像会导致$query资源变量第一次有效,而后面的4次是没有效的。
      

  4.   

    $array是数组,后面调用的是<? echo $array[i];?>
      

  5.   

    我的程序代码一点都没动,以前用着好好的,系统从win2000改成win2003以后就读不出数据了,不知道是怎么回事
      

  6.   

    我的意思是,如果那个mysql_fetch_array放在非循环语句中,第一次会一次过就把所有数据放入$array数组(所以导致后四次的读取显示错误),而$query的资源变量就失效了,所以要把那个函数的语句放入循环条件中,才可以一行一行读取。