$num=mysql_fetch_array($pp);
echo mysql_error();

解决方案 »

  1.   

    我是想问一下
    $pp=$db->executesql(); 这句没有错
    为什么我在
    $num=mysql_fetch_array($pp); //51行
    时就出错了,
    提示
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\test\administrator\image_load.php on line 51
      

  2.   

    因为我执行SQL语句是在Database类的executesql方法里面,
      

  3.   


    请注意两行中间,$result是否被重置,或者什么的.
      

  4.   

    没有被重置
    connect.php
    <?php
    /*
    ---数据库类
    databasename //数据库名
    databaseusername //数据库用户名
    databasepassword //数据库密码
    databasename //数据库名define("databasename","localhost");define("databaseusername","root");define("databasepassword","1234");define("databasename","myledcc");
    */    $DBHOST="localhost"; //主机名
        $DBUSER="root"; // 数据库用户名
        $DBPWD="1234"; //密码
        $DBNAME="myledcc" ; //数据库名
        
     //数据库类
    class Database
    {
    //定义属性
    var $myconnid;//连接id
    var $mysqlstring; //执行的SQL语句
    //定义方法连接数据库
    function __construct($pHost,$pUser,$pPwd,$pDbName)
    {
      $this->myconnid=mysql_connect($pHost,$pUser,$pPwd);
      
      mysql_select_db($pDbName,$this->myconnid);
      
      mysql_query("set names gb2312");
    }
    //定义方法执行数据库语句
    function executesql()
    {
    mysql_query($this->mysqlstring);
    }
    //定义方法关闭数据
    function __destruct()
    {

    mysql_close($this->myconnid);

    }
    }
    ?>load.php
    //**包括文件
    require("function/function.php");
    //require("conn/conn.php");
    include("../function/connect_data.php");$file_addr=$_SERVER['DOCUMENT_ROOT']."/test/administrator/upload/";//得到路径$file_name=$_FILES["myfile"]["name"];//得到文件名$file_type=$_FILES["myfile"]["type"];//$x=substr($file_type,0,5);
    /*----------------------判断图片格式--------------------*/
    if(substr($file_type,0,5)!="image")
     {
       error("请上传为图片格式的文件");
     }
    else 
     { 
      /*---------------------在图片格式正确的格式下------------------*/
    $file_size=$_FILES["myfile"]["size"];
    /*---------------------在图片很大的情况下---------------------*/
    if($file_size>1042000)
    {
         error("文件太大");
    }
    else 
    {
    $log_name=strtolower(strrchr($file_name,".")); //得到文件扩展名

    $file_name=$file_addr.random().$log_name;

    copy($_FILES["myfile"]["tmp_name"],$file_name);

    $result=mysql_query("select count(*) from head_pic");
    $num=mysql_fetch_array($result);
    echo $num[0];

    $db=new Database("localhost","root","1234","myledcc");
    /*--------------------判断是否存在数据-------------------------*/

    $db->mysqlstring="select count(*) from head_pic";
    $pp=$db->executesql();
    $jj=mysql_num_rows($pp); }
     }?>我贴出源文件,麻烦大虾帮我看一下。如果我用最直接的写法,不用调用类方法就不会出错,我弄不懂这个为什么会出错,错在哪里
      

  5.   

    你这句include("../function/connect_data.php");并没有把你的连接类引用进来啊。连接类不是connect.php吗? 
      

  6.   

    function executesql() 

    mysql_query($this->mysqlstring); 
    } 这没有返回,当然是非法的结果集了.function executesql() 

    return mysql_query($this->mysqlstring);