RT
声明了一个变量
global $empire然后 为什么要 
$empire->query("一条sql语句")这样去执行sql语句?我不明白的有两点:
1. $empire 为什么要声明这个变量?2. -> 什么意思?3. 为什么要这样去执行sql语句?有什么好处?

解决方案 »

  1.   

    global $empire
    $empire是个全局变量,global就是用来声明全局变量的,之前肯定在include的文件里有声明的,而且这个$empire是个数据库类,->是类调用其成员变量和函数的运算符,query()就是数据库类的一个函数,作用是用来执行sql语句,好处就是这样执行配置和维护方便呗,数据库用户密码变了的时候改下配置文件就ok了啊
      

  2.   

    我 怎么才能 跟踪到源码 的 $empire 的这个数据库类?我怎么找都找不到
      

  3.   

    <?php
    class mysqlquery
    {
    var $sql;//sql语句执行结果
    var $query;//sql语句
    var $num;//返回记录数
    var $r;//返回数组
    var $id;//返回数据库id号
    //执行mysql_query()语句
    function query($query)
    {
    $this->sql=mysql_query($query) or die(mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query));
    return $this->sql;
    }
    //执行mysql_query()语句2
    function query1($query)
    {
    $this->sql=mysql_query($query);
    return $this->sql;
    }
    //执行mysql_fetch_array()
    function fetch($sql)//此方法的参数是$sql就是sql语句执行结果
    {
    $this->r=mysql_fetch_array($sql);
    return $this->r;
    }
    //执行fetchone(mysql_fetch_array())
    //此方法与fetch()的区别是:1、此方法的参数是$query就是sql语句 
    //2、此方法用于while(),for()数据库指针不会自动下移,而fetch()可以自动下移。
    function fetch1($query)
    {
    $this->sql=$this->query($query);
    $this->r=mysql_fetch_array($this->sql);
    return $this->r;
    }
    //执行mysql_num_rows()
    function num($query)//此类的参数是$query就是sql语句
    {
    $this->sql=$this->query($query);
    $this->num=mysql_num_rows($this->sql);
    return $this->num;
    }
    //执行numone(mysql_num_rows())
    //此方法与num()的区别是:1、此方法的参数是$sql就是sql语句的执行结果。
    function num1($sql)
    {
    $this->num=mysql_num_rows($sql);
    return $this->num;
    }
    //执行numone(mysql_num_rows())
    //统计记录数
    function gettotal($query)
    {
    $this->r=$this->fetch1($query);
    return $this->r['total'];
    }
    //执行free(mysql_result_free())
    //此方法的参数是$sql就是sql语句的执行结果。只有在用到mysql_fetch_array的情况下用
    function free($sql)
    {
    mysql_free_result($sql);
    }
    //执行seek(mysql_data_seek())
    //此方法的参数是$sql就是sql语句的执行结果,$pit为执行指针的偏移数
    function seek($sql,$pit)
    {
    mysql_data_seek($sql,$pit);
    }
    //执行id(mysql_insert_id())
    function lastid()//取得最后一次执行mysql数据库id号
    {
    $this->id=mysql_insert_id();
    return $this->id;
    }
    }
    ?>
      

  4.   


    $empire=new mysqlquery();global $empire;$empire->query("一条sql语句");//或者继承了mysqlquery的类
      

  5.   

    在页首include的文件里,一般有声明类的文件,一个文件套一个文件的可能不好找
    直接在所有文件里查找$empire应该就能找到
      

  6.   

    在代码里面,根本没看到 $empire=new mysqlquery();@@ 
      

  7.   

    $empire=new mysqlquery();global $empire;已经global了