Note: Using odbc_num_rows() to determine the number of rows available after a SELECT will return -1 with many drivers. access就是这样。

解决方案 »

  1.   

    可以这样做:
      # Many ODBC drivers don't support odbc_num_rows() on SELECT statements.
      $num_rows = odbc_num_rows($result_id);
      # This is a workaround. It is intended to be ugly.
      if ($num_rows < 0){
       $i=10;
       while (odbc_fetch_row($result_id, $i)) $i*=10;
       $j=0;
       while ($i!=$j){
        $k= $j+intval(($i-$j)/2);
        if (odbc_fetch_row($result_id, $k))
         $j=$k;
        else 
         $i=$k;
        if (($i-$j)==1){
         if (odbc_fetch_row($result_id, $i)) 
          $j=$i;
         else 
          $i=$j; 
        };
       };
       $num_rows=$i;
      }
      

  2.   

    odbc_fetch_row,odbc_fetch_into也不行,怎么解决,多谢!!
      

  3.   

    语句没错.但是得到YYYY的值是空的.
    是不是和odbc不支持num_rows有关?