其实无非就是两种方式:1 $result = mysql_query(select count(*) ...
  $row = mysql_fetch_rows($result);
  echo $row[0];2 $result = mysql_query(select * ...
  $row = mysql_num_rows($result);
  echo $row;这两种方式哪种方式更好呢?其实看用在何种情况。(以下所指的服务器端和客户端是指mysql的客户端和服务器端,也就是mysql和mysqld,php这边是mysql,mysql数据库是mysqld)第1种方式的优势是,从服务器端返回客户端的数据很少。只返回一个字段,而且是一个int值。如果你只希望取记录总数,不需要各字段数据的话,这种方式无疑是最可取的。但如果你既想将记录集各字段数据取出来,又想得到记录的数量。当然就是第2种方式好了。因为你只需要对数据库进行一次query,而mysql_num_rows是在客户端操作的。这样的减少了客户端和服务器端数据传输的数量。尤其是mysql与apache不在同一服务器的情况下,表现的更明显。而如果用第1种方式的话,需要对数据库进行两次query,既select count(*)一次,select *一次。并且客户端和服务器端会传输一些冗余数据。另外再提一点,mysql手册中说过,select count(*)在没有where条件的情况下直接查询表的内建索引,速度是相当快的。但如果有where条件的话,他的处理方式也是在内部先选出记录集,然后再去统计记录集的行数。