一小段代码:$sql='select `rank`, `count` from rm_rank order by `rank` asc';
$result = $db->Execute($sql);
print_r($result);
$rm_rank = array();
while (!$result->EOF){
$rm_rank[] = $result['fields'];
$result->MoveNext();
}
执行到 $rm_rank[] = $result['fields']; 就出错,不知道为啥了。
print_r($result) 输出:
queryFactoryResult Object ( [is_cached] => [resource] => Resource id #244 [cursor] => 0 [EOF] => [fields] => Array ( [rank] => 1 [count] => 51392 ) )

解决方案 »

  1.   

    $result['fields']的意思是rm_rank表中fields这个字段的值,你的rm_rank表中有这个字段吗?
    我猜想,你是想把所有的字段都赋给$rm_rank[]吧那应该这样表示:$sql='select `rank`, `count` from rm_rank order by `rank` asc';
    $result = $db->Execute($sql);
    print_r($result);
    $rm_rank = array();
    while (!$result->EOF){
        $rm_rank[] = $result;
        $result->MoveNext();
    }
    echo '<pre />';
    print_r($rm_rank);
      

  2.   

    queryFactoryResult Object ( [is_cached] =//$rm_rank[] = $result['fields'];修改为如下试试?
    $rm_rank[] = $result->fields;
      

  3.   

    获得的$result是一个对象,所以要使用$result->fields。