我转了一个空间,就出现这新的问题,请问如何解决提示错误:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\wwwroot\wwwroot\system\inc\db_conn.php on line 56
<?php
class DB{
/**
 * 打開數據庫連接
 *
 */
function conn_open(){
$host = "0.0.0.0.0"; $user = "FDSAFDSF"; $pass = "FDASFDSF"; $database = 'FDASFDSF';
$conn = mysql_connect($host,$user,$pass);
mysql_query("SET NAMES 'UTF8'");
if(!$conn){
echo"<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
die ('提示:連接資料庫失敗!'.mysql_error());
break;
} else{
if(!mysql_select_db($database,$conn)){
echo"<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
echo"提示:選擇的資料庫布存在!";
break;
}
}
return $conn;
}
/**
 * 執行一個查詢字符串
 *
 * @param unknown_type $sql
 * @return unknown
 */
function query($sql,$conn){
 return mysql_query($sql,$conn);
}
/**
 * 將查詢結果返回一個數組資料
 * @param unknown_type $query
 * @return unknown
 */
function fetch_array($result,$type){
return mysql_fetch_array($result,$type);
}
/**
 * 返回一個返回列的數目
 *
 * @param unknown_type $query
 * @return unknown
 */
function num_rows($result) {
return mysql_num_rows($result);
}
/**
 * 釋放返回佔用?存
 *
 * @param unknown_type $query
 * @return unknown
 */
function free_result($result){
return mysql_free_result($result);
}
/**
 * 關閉資料庫連接
 *
 * @return unknown
 */
function free_conn($conn){
return mysql_close($conn);
}
/**
 * 返回商品分類名稱
 *
 * @param unknown_type $class_id
 * @param unknown_type $conn
 * @return unknown
 */
function getClassName($class_id,$conn){
if(!empty($class_id)){
$sql = "select * from sq_class where class_id='$class_id'";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$class_title = $rs['class_title'];
}
mysql_free_result($result);
return $class_title;
}else{
return $class_title;
}
}


function getSortName($class_id,$conn){
if(!empty($class_id)){
$sql = "select * from sql_sys_sort  where sortid='$class_id'";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$class_title = $rs['sort_sort'];
}
mysql_free_result($result);
return $class_title;
}else{
return $class_title;
}
}


function getSortName_cn($class_id,$conn){
if(!empty($class_id)){
$sql = "select * from sql_sys_sort  where sortid='$class_id'";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$class_title = $rs['sort_sort_j'];
}
mysql_free_result($result);
return $class_title;
}else{
return $class_title;
}
} function getSortName_ft($class_id,$conn){
if(!empty($class_id)){
$sql = "select * from sql_sys_sort  where sortid='$class_id'";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$class_title = $rs['sort_sort_f'];
}
mysql_free_result($result);
return $class_title;
}else{
return $class_title;
}
} function getNewsxx($itme,$class_id,$conn){
if(!empty($class_id)){
$sql = "select $itme from sq_news  where class_id='$class_id'";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$News_xx = $rs[$itme];

}
mysql_free_result($result);
return $News_xx ;
}else{
return $News_xx ;
}
} function getAbout($itme,$class_id,$conn){
if(!empty($class_id)){
$sql = "select $itme from  sq_about   where about_id=".$class_id;
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$News_xx = $rs[$itme];

}
mysql_free_result($result);
return $News_xx ;
}else{
return $News_xx ;
}
} function getNewsID($itme,$class_id,$conn){
if(!empty($class_id)){
$sql = "select $itme from sq_news  where sortid='$class_id' order by class_order desc, class_id desc";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);

$GLOBALS["News_ID"]=$rs[$itme];
}
mysql_free_result($result);
return $GLOBALS["News_ID"] ;
}else{
$GLOBALS["News_ID"]=0 ;
}
}

function getNewsjj($itme,$class_id,$conn){
if(!empty($class_id)){
$sql = "select $itme from sq_news  where class_id='$class_id' order by class_order desc, class_id desc";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);

$GLOBALS["News_jj"]=$rs[$itme];
}
mysql_free_result($result);
//return $GLOBALS["News_jj"] ;
}else{
$GLOBALS["News_jj"]="" ;
}
}

function getCode ($length = 32, $mode = 0) { 
         switch ($mode) { 
         case '1': 
             $str = '1234567890'; 
             break; 
         case '2': 
             $str = 'abcdefghijklmnopqrstuvwxyz'; 
             break; 
         case '3': 
             $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
             break; 
         case '4': 
             $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 
             break; 
         case '5': 
             $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'; 
             break; 
         case '6': 
             $str = 'abcdefghijklmnopqrstuvwxyz1234567890'; 
             break; 
         default: 
         $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; 
         break; 
         } 
         $randString = ''; 
         $len = strlen($str)-1; 
         for($i = 0;$i < $length;$i ++){ 
             $num = mt_rand(0, $len); 
             $randString .= $str[$num]; 
         } 
         return $randString ; 
     }  function getClassPhoto($class_id,$conn){
if(!empty($class_id)){
$sql = "select * from sq_class where class_id='$class_id'";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$class_photo = $rs['class_photo'];
}
mysql_free_result($result);
return $class_photo;
}else{
return $class_photo;
}
}
function getClassID($conn,$class_status){
$sql = "select * from sq_class where class_status=$class_status order by class_id asc limit 0,1";
$result = mysql_query($sql,$conn);
$rows = mysql_num_rows($result);
if($rows>0){
$rs = mysql_fetch_array($result,MYSQL_BOTH);
$class_id = $rs['class_id'];
}
mysql_free_result($result);
return $class_id;
}
}
class STR{
function sub_str($str,$len){
if(strlen($str)>$len){
$strx = substr($str,0,$len)."...";
}else{
$strx = $str;
}
return $strx;
}
function getToHtml($str){
if(strlen($str)<0){
$str = "";
}else{
$str = str_replace("<","&lt;",$str);
$str = str_replace(">","&gt;",$str);
$str = str_replace(" ","&nbsp;&nbsp;",$str);
$str = str_replace("\n","<br>",$str);
}
return $str;
}
function getToText($str){
if(strlen($str)<0){
$str = "";
}else{
$str = str_replace("&lt;","<",$str);
$str = str_replace("&gt;",">",$str);
$str = str_replace("&nbsp;&nbsp;"," ",$str);
$str = str_replace("<br>","\n",$str);
}
return $str;
}
}
$db = new DB();
$str = new STR();function erro($text)//殿隙渣昫敦諳滲杅
{
        echo "<script language=javascript>" ;
echo "alert('".$text."');" ;
echo "</script>";;
echo "<script language=javascript>location='javascript:history.back(1)'";}
function message($C_alert,$I_goback='') {
    if(!empty($I_goback)) {
        echo "<script>alert('$C_alert');window.location.href='$I_goback';</script>";
    } else {
        echo "<script>alert('$C_alert');</script>";
    }
}
@session_start();date_default_timezone_set('Asia/Shanghai');
ini_set("max_execution_time", "18000");?>

解决方案 »

  1.   

     $conn = mysql_connect($host,$user,$pass);//$host = '0.0.0.0'这样可以吗?
      

  2.   

            $host = "0.0.0.0.0";//数据库所在的地址,你的这个一看就是牛---估计就是这个的问题        $user = "FDSAFDSF";//数据库用户名要正确        $pass = "FDASFDSF";//数据库用户密码要正确        $database = 'FDASFDSF';//要有这个数据库
      

  3.   


    这个IP,是我随意写的,网站可以打开,数据才调用,就是上面提示一个错误就是:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\wwwroot\wwwroot\system\inc\db_conn.php on line 56
      

  4.   

    找出这一句错误的sql  放到mysql下查询一下 看下是否正确
      

  5.   

    整个页面就是一个class和几个function,最好结合实际页面进行检测调试。
      

  6.   

    应该就是数据库连接上的问题,因为你在别的上面正常,换个空间就出这个问题,应该不是sql语句的问题,也只能是数据库链接上的问题了
      

  7.   

    查到,我把以下的代码删除,就正常了,但下面的代码是正确的啊,加上就不行[code=PHP    <?
    $sql="select c.*,p.Class_photoa,p.sortid from shop_cart c,sq_class p where class_id=productid and userid =".$_SESSION['user_id']." and ordertype=1";
    $result=$db->query($sql,$conn);
            $row=$db->num_rows($result);
    $tmoney=0;
    for ($i=0;$i<$row;$i++){
      $rs=$db->fetch_array($result,MYSQL_BOTH);
                    $tmoney=$tmoney+$rs["total"];
    ?>
                <?
      }
      ?>
            Welcome <?  if($_SESSION['user_id']==""||$_SESSION['niming']=="1") {?>Guest!<? }else{
        ?>   
    <?
    echo"<span>".$_SESSION['user_uid']."</span>"; echo"&nbsp&nbsp&nbsp<a href=member_center.php>My Account</a>";
    ?>
        <?
        }
        ?>
    &nbsp;&nbsp;&nbsp; <?  if($_SESSION['user_id']==""||$_SESSION['niming']=="1") {?><a href="login.php" target="_self"><strong>Log in</strong></a>&nbsp;&nbsp;&nbsp; or&nbsp;&nbsp;&nbsp; <a href="reg.php" target="_self"><strong>Register&nbsp;</strong></a>&nbsp;&nbsp;<? }else{
        ?><?
        }
        ?><img src="images/cart.gif" width="13" height="11" />&nbsp;&nbsp;Cart<strong>&nbsp;&nbsp;&nbsp;<a href="cart_list.php" target="_self"><?=$i?> item(s)</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php" target="_self">Checkout</a></strong>[/code]
      

  8.   

    输出 $sql="select c.*,p.Class_photoa,p.sortid from shop_cart c,sq_class p where class_id=productid and userid =".$_SESSION['user_id']." and ordertype=1"; 这一句 到mysql执行中 应该是这句有问题
      

  9.   

    这是个sql的查询问题,注意!!:$sql="select c.*,p.Class_photoa,p.sortid from shop_cart c,sq_class p where class_id=productid and userid =".$_SESSION['user_id']." and ordertype=1"; 虽然你前面这样写,c.*,p.Class_photoa,p.sortid,这是对的,但是后面的class_id却没有指明在哪个表里,应该是c.class_id吧,而且userid和ordertype是哪个表里的?不建议你写两个and,可以写成子查询嵌套入查询中,像这样select xxxxx,xxxx,xxxx,from xxx,xxx where xxx and xxx =(select xxx from xxx where xxx=xxx ),你试试吧
      

  10.   

    productid又是哪个表里的?查询必须指出是在哪个表里,否则会出错,仅仅用的是shop_cart sq_class两个表吗,出现第三个表的字段可是会出错的。