$db->setQuery($order_sql);
$guest = $db->query();
这样子的写的

解决方案 »

  1.   

    你的$db->query();可能只是对select以及其它少数几个查询才会返回一个对象类型,多数情况下,应该只返回TRUE或FALSE.所以你应该检查一下你的order_sql是什么查询
      

  2.   

    楼上的高手见解一下,PHP不是我的强项....
      

  3.   

    这是他QURTY函数:(@_2)
    function query() {
    global $mosConfig_debug;
    if ($this->_debug) {
    $this->_ticker++;
       $this->_log[] = $this->_sql;
    }
    $this->_errorNum = 0;
    $this->_errorMsg = '';
    $this->_cursor = mysql_query( $this->_sql, $this->_resource );
    if (!$this->_cursor) {
    $this->_errorNum = mysql_errno( $this->_resource );
    $this->_errorMsg = mysql_error( $this->_resource )." SQL=$this->_sql";
    if (trigger_error( mysql_error( $this->_resource ), E_USER_NOTICE ) && $mosConfig_debug) {
    echo "<pre>" . $this->_sql . "</pre>\n";
    }
    if ($this->_debug && function_exists( 'debug_backtrace' ) ) {
    foreach( debug_backtrace() as $back) {
        if (@$back['file']) {
        echo '<br />'.$back['file'].':'.$back['line'];
    }
    }
    }
    return false;
    }
    return $this->_cursor;
    }
      

  4.   

    query()有可能返回的是false,也就是说$this->_cursor = mysql_query( $this->_sql, $this->_resource ); 查询是不成功的,或者$this->_cursor == TRUE;我也是新手,共同学习。
      

  5.   

    global $db;

    $order_sql = "select * from #_guestbook order by ID DESC";
    $db->setQuery($order_sql);
    $guest = $db->query();
     
    echo "";
    //........................
             $wnn=0;
    $rid=1;
     $get = array();
    while(!$guest->EOF)
    {
    这一行报错 $get[0] = $guest->Fields(0);
      

  6.   

    你可以用printf_r或是var_dump看一下guest的值,或者改一下程序
    while ($row = $db->mysql_fetch_array($guest)) {
        $get[] = $row;
    }
      

  7.   

      echo $guest;
    得到:
    Resource id #85