知道mysql_fetch_row留下了多少行*

时间:2011-02-13 12:17:11

标签: php mysql

考虑这个简单的代码:

$q=mysql_query('SELECT [...]');
while($row=mysql_fetch_assoc($q)){
   //Do something with data
   //And write how many rows are left
}

有没有办法知道有多少行会在while内返回mysql_fetch_assoc()?

ADD1:

我知道我可以在里面手动计算。我问是否有一个可以完成这项工作的mysql函数,比如mysql_data _ *

示例:

while(..){
    echo mysql_num_query($q);
}

4 个答案:

答案 0 :(得分:3)

您可以使用mysql_num_rows($ q)请求数组中的行数,然后减少while循环中的计数。

$rows = mysql_num_rows($q);
while($row=mysql_fetch_assoc($q)){
  $rows --;
  //Do something with data
  //And write how many rows are left
  echo $rows;
}

答案 1 :(得分:0)

答案 2 :(得分:0)

使用mysql_num_rows函数Docs

$q=mysql_query('SELECT [...]');
$rowCount = mysql_num_rows($q);
while($row=mysql_fetch_assoc($q)){
   //Do something with data
   //And write how many rows are left
}

答案 3 :(得分:-2)

我认为唯一的方法是先运行计数查询,然后在内部循环中使用一些计数器。

$q1 = mysql_query('select count(*) [...]');
$q2 = mysql_query('select [...]');

$i = 0;
while($row = mysql_fetch_assoc($q2))
{
    $i++;
}