可以这样做: # 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; }
# 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;
}
是不是和odbc不支持num_rows有关?