我写了个函数 想用来代替 odbc_num_rows 的
但是这个函数执行后 结果集已经访问到最后了,如何复位结果集的状态呢? function get_num_rows($result){
$rows = 0;
while (odbc_fetch_array($result)){
$rows++;
}
odbc_fetch_array($result,0);
//odbc_rollback($this->conn);
return $rows;
}这个函数获取记录数后 再使用 
$ss = odbc_fetch_array($result);
echo $ss['u'];
的时候已经读取不到数据了

解决方案 »

  1.   

    象你这样为了得到结果数就把所有结果遍厉一次的作法是在挑战你的机器性能极限。正确做法应该是取得结果后,
    while($r=odbc_fetch_array($result))
      $rs[]=$r;
    $c=count($rs);
    如果只需要结果条数而不想要结果的话,应该执行sql: select count(*) from table1 where ....来返回一个单一数字
      

  2.   

    使用了 第一次读取的时候就把结果存入数组。
    然后在count($rs);这个函数统计记录数的SQL语句一般只返回一条记录 用于查找