网站只要出现:mysql_num_rows的地方,都会提示:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
SQL: $total=mysql_num_rows(mysql_query($sql,$conn));为什么,换一个空间就这样了,为什么,高手说说,有可能是什么造成?

解决方案 »

  1.   

    换了空间 你数据库的结构是否还一样?
    你mysql的帐号密码是否正确?
      

  2.   

    $rs=mysql_query($sql,$conn);先运行这句看有没有情况。
      

  3.   

    又是楼主,贴出$sql的语句看看
      

  4.   

    把你的SQL语句填出来 ,半天不知道你在问什么?
      

  5.   

    帮排错处理,所有查询语句后面加上:
    mysql_query($sql) or print(mysql_error()."<br>$sql");
      

  6.   


    现在就是,只要有$total=mysql_num_rows(mysql_query($sql,$conn));这样的要么慢,要么就提示出错,有二个文件都有错,第一个文件:class_list.php   产品列表调用
    <?php
    require("purview.php");
    require("inc/db_conn.php");
    require("inc/pageft.php");
    $conn=$db->conn_open();
    $class_id=$_GET['class_id'];
    if($_REQUEST["act"]=="up")
    up();
    else if($_REQUEST["act"]=="down")
    down();function up()
    {
    $sql="select * from sq_class   where class_id=".$_GET["class_id"]." order by class_order  desc";

      $result=mysql_query($sql); 
      if($rs=mysql_fetch_array($result)){
      $cid1=$rs["class_id"];
      $order1=$rs["class_order"];
      }
      
    $sql="select * from sq_class  where class_order<".$order1." order by class_order  desc";

      $result=mysql_query($sql); 
      if($rs=mysql_fetch_array($result)){
      $cid2=$rs["class_id"];
      $order2=$rs["class_order"];
      }
        
     /// echo $cid2."<br>";
      //echo $cid1."<br>";
     // exit;
      
      
     
    mysql_query("update sq_class  set class_order=".$order2." where class_id=".$cid1."");mysql_query("update sq_class  set class_order=".$order1." where class_id=".$cid2."");
    }function down()
    {
    $sql="select * from sq_class   where class_id=".$_GET["class_id"]." order by class_order  desc";

      $result=mysql_query($sql); 
      if($rs=mysql_fetch_array($result)){
      $cid1=$rs["class_id"];
      $order1=$rs["class_order"];
      }
      
    $sql="select * from sq_class  where class_order>".$order1." order by class_order  asc";

      $result=mysql_query($sql); 
      if($rs=mysql_fetch_array($result)){
      $cid2=$rs["class_id"];
      $order2=$rs["class_order"];
      }
        
     // echo $cid2."<br>";
      //echo $cid1."<br>";
     // exit;
      
      
     
    mysql_query("update sq_class  set class_order=".$order2." where class_id=".$cid1."");mysql_query("update sq_class  set class_order=".$order1." where class_id=".$cid2."");
    }
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>產品類別</title>
    <link href="inc/style.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    <!--
    .style2 {color: #FF0000}
    -->
    </style>
    </head><body>
    <table width="90%">
    <tr> 
        <td height="30">&nbsp;&nbsp;search:      &nbsp;&nbsp;&nbsp;
          <select name="sortid" id="sortid"  onChange="window.location='?sortid='+this.value">
          <?
     $sqlb="select * from sql_sys_sort where sort_fsid=0  order by sort_order asc ";
    //die($sql);
         $resultb=$db->query($sqlb,$conn);
          $rowb=$db->num_rows($resultb);
    for ($i=0;$i<$rowb;$i++){
    $rsb=$db->fetch_array($resultb,MYSQL_BOTH);
      ?>
          <!--一级-->
          <option value="<?=$rsb["sortid"]?>" >
            <?=$rsb["sort_sort"]?>
            </option>
          <!--二级-->
          <?
      
     $sqls="select * from sql_sys_sort where sort_fsid=".$rsb["sortid"]."  order by sort_order asc ";
    //die($sql);
         $results=$db->query($sqls,$conn);
          $rows=$db->num_rows($results);
    for ($j=0;$j<$rows;$j++){
    $rss=$db->fetch_array($results,MYSQL_BOTH);
           if($j+1<$rows){
      ?>
          <option value="<?=$rss["sortid"]?>">&nbsp;&nbsp;├&nbsp;
            <?=$rss["sort_sort"]?>
            </option>
          <!--三级-->
          <?
      
     $sqlt="select * from sql_sys_sort where sort_fsid=".$rss["sortid"]."  order by sort_order asc ";
    //die($sql);
         $resultt=$db->query($sqlt,$conn);
          $rowt=$db->num_rows($resultt);
    for ($k=0;$k<$rowt;$k++){
    $rst=$db->fetch_array($resultt,MYSQL_BOTH);
           if($k+1<$rowt){
                  ?>
          <option value="<?=$rst["sortid"]?>">&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;├&nbsp;
            <?=$rst["sort_sort"]?>
            </option>
          <? }

    else{
    ?>
          <option value="<?=$rst["sortid"]?>">&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;└&nbsp;
            <?=$rst["sort_sort"]?>
            </option>
          <? }

    }?>
          <!--三级代码结束--->
          <?
      }
      else{
      ?>
          <option value="<?=$rss["sortid"]?>">&nbsp;&nbsp;└&nbsp;
            <?=$rss["sort_sort"]?>
            </option>
          <!--三级-->
          <?
      
     $sqlt="select * from sql_sys_sort where sort_fsid=".$rss["sortid"]."  order by sort_order asc ";
    //die($sql);
         $resultt=$db->query($sqlt,$conn);
          $rowt=$db->num_rows($resultt);
    for ($k=0;$k<$rowt;$k++){
    $rst=$db->fetch_array($resultt,MYSQL_BOTH);
           if($k+1<$rowt){
                  ?>
          <option value="<?=$rst["sortid"]?>">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;├&nbsp;
            <?=$rst["sort_sort"]?>
            </option>
          <? }

    else{
    ?>
          <option value="<?=$rst["sortid"]?>">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└&nbsp;
            <?=$rst["sort_sort"]?>
            </option>
          <? }

    }?>
          <!--三级代码结束--->
          <?
         }
     }
     ?>
          <?
     
      }
      ?>
        </select>
        <strong><a href="class_list.php"><font color="#FF0000">All Products</font></a></strong></td>
    </tr>
    </table><table width="90%" border="0" align="center" cellpadding="5" cellspacing="1" BGCOLOR="#D5E89F">
      <tr>
        <td colspan="6" align="center" height="30" style="background:url(images/title.gif) repeat-x"><table width="96%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="58%" align="right">Products(<a href="class_add.php" style="color:#FF0000">New</a>)</td>
            <td width="42%" align="center">&nbsp;</td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td colspan="2" align="center" bgcolor="#FFFFFF">Competence</td>
        <td width="43%" align="center" bgcolor="#FFFFFF">Product Name</td>
        <td width="12%" align="center" bgcolor="#FFFFFF">Recommends</td>
        <td width="15%" align="center" bgcolor="#FFFFFF">Sorting</td>
        <td width="12%" align="center" bgcolor="#FFFFFF">New Date </td>
      </tr>
      <?php
      $sortid=$_REQUEST["sortid"];
            if(empty($sortid)){
    $str=" ";
    }else{
    $str=" and sortid=$sortid";
    }  $sql="select * from sq_class  where 1=1 order by class_id desc".$str;
      $total=mysql_num_rows(mysql_query($sql,$conn));
       $displaypg=20;
    pageft($total,$displaypg,"class_list.php?sortid=".$_GET["sortid"]."");
    $page=$_REQUEST["page"];
            if(empty($page)) $page=1;
    $firstcount=($page-1)*$displaypg;
      $sql="select * from sq_class   where 1=1".$str." order by class_id desc limit $firstcount, $displaypg";
    //die($sql);
      $result=$db->query($sql,$conn);
      $row=$db->num_rows($result);
    for ($i=0;$i<$row;$i++){
      $rs=$db->fetch_array($result,MYSQL_BOTH);
      ?>
      <tr>
        <td width="7%" align="center" bgcolor="#FFFFFF"><a href="class_update.php?class_id=<?=$rs['class_id']?>"><img src="images/b_edit.png" width="36" height="16" border="0"></a></td>
        <td width="11%" align="center" bgcolor="#FFFFFF"><a href="class_del.php?class_id=<?=$rs['class_id']?>" onClick="return(confirm('Real deletion? '))"><img src="images/b_drop.png" width="36" height="16" border="0"></a></td>
        <td align="center" bgcolor="#FFFFFF" style="font-weight:800"><?=$rs['class_title']?>      <a href="other_update.php?class_id=<?=$rs['class_id']?>"></a></td>
        <td align="center" bgcolor="#FFFFFF" style="font-weight:800">
    <? if($rs['tj']==0) 

    echo"NO";
    }elseif($rs['tj']==1){

    echo"NewArrival";
    }elseif($rs['tj']==2){

    echo"Recommend";
    }elseif($rs['tj']==3){

    echo"Special";
    }
    ?>


    </td>
        <td align="center" bgcolor="#FFFFFF"><a href="?act=down&class_id=<?=$rs["class_id"]?>&page=<?=$_REQUEST["page"]?>"><img src="images/up.gif" width="11" height="12" border="0"></a>&nbsp;<a href="?act=up&class_id=<?=$rs["class_id"]?>&page=<?=$_REQUEST["page"]?>"><img src="images/down.gif" width="11" height="12" border="0"></a></td>
        <td align="center" bgcolor="#FFFFFF"><?=$rs['class_date']?></td>
      </tr>
      <?php
      }
      $db->free_result($result);
      ?>
    </table><table width="90%" border="0" align="center" cellpadding="5" cellspacing="1">
      <tr>
        <td align="center"><?=$pagenav?></td>
      </tr>
    </table>
    </body>
    </html>
    <?php
    $db->free_conn($conn);
    ?>
    接楼下
      

  7.   

    第二个文件:class_update_save.php  产品上传保存文件,这个就是写入数据极慢<?php
    //require("purview.php");
    require("inc/db_conn.php");
    $conn=$db->conn_open();
     $sql="select * from sq_class ";
         $total=mysql_num_rows(mysql_query($sql,$conn));
         $tnum=$total+1;
    $class_id=$_GET['class_id'];
    $sortid=$_POST["sortid"];
    $model=$_POST["model"];
    $freight=$_POST["freight"];
    $size=$_POST["size"];
    $class_title=$_POST['class_title'];
    $class_title2=$_POST['class_title2'];
    $price=$_POST["price"];
    $price_cn=$_POST["price_cn"];
    $price_ft=$_POST["price_ft"];
    $class_photoa=$_POST['class_photoa'];
    if(empty($class_photoa)){
    $class_photoa = "images/noimg.gif";
    }
    if(empty($class_photoa)){
    $photo_status = 1;
    }else{
    $photo_status = 2;
    }
    $max_photoa=$_POST['max_photoa'];
    $max_photoa2=$_POST['max_photoa2'];
    $max_photoa3=$_POST['max_photoa3'];
    $class_content=$_POST['class_content'];
    $tj=$_POST['tj'];
    //$class_order=$_POST['class_order'];
    $class_date=date('y-m-d');
    $sql="insert into sq_class (sortid,class_title,class_title2,model,freight,size,class_photoa,photo_status,class_content,class_order,";
    $sql.="max_photoa,max_photoa2,max_photoa3,price,price_cn,class_date,tj)";
    $sql.=" values ($sortid,'$class_title','$class_title2','$model','$freight','$size','$class_photoa','$photo_status','$class_content',$tnum,'$max_photoa','$max_photoa2','$max_photoa3','$price','$price_cn',";
    $sql.="'$class_date',$tj)";

    //echo $sql;
    //exit;
    $result=$db->query($sql,$conn);
    if (!$result){
    echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";
    die("<script>alert ('Storage Failure!'); location.href='class_add.php'</script>".mysql_error());
    }else {
    echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";
    echo "<script>alert ('Storage Success'); location.href='class_list.php'</script>";
    }
    $db->free_resule($result);
    $db->free_conn($conn);
    ?>
      

  8.   


    我不是说的很明白,提示错是:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\wwwroot\system\class_list.php on line 220
    具体是那个地方出错,我也不知道,就在在找原因啊
      

  9.   

    $total=mysql_num_rows(mysql_query($sql,$conn));
      你給的参数不是一个有效地结果集
       不能省的步骤就别省...
     $query=mysql_query($sql,$conn);
      if($query)
       {
         echo mysql_num_rows($query);
       }
      

  10.   

             $sortid=$_REQUEST["sortid"];
            if(empty($sortid)){
            $str=" ";
            }else{
            $str=" and sortid=$sortid";
            }  $sql="select * from sq_class  where 1=1 order by class_id desc".$str;
      $total=mysql_num_rows(mysql_query($sql,$conn));/*
    order by class_id  desc后面还能加and sortid=$sortid?没有用过。问题应该出现在  if(empty($sortid)){
            $str=" ";
            }else{
            $str=" and sortid=$sortid";
            }  导致你时有时出错。
    $str=" and sortid=$sortid";应该这样
    $sql="select * from sq_class  where 1=1 {$str} order by class_id desc";
    */