查询不解决权利,如何?

时间:2011-07-20 20:44:30

标签: php mysql

我有一个应该返回40个结果的查询:

$test = mysql_query(" SELECT fname FROM online_all WHERE verify_status = 'v' LIMIT 40 ");
if (!$test ) {print " - Mysql Error - ";echo fns_et_mysql_error(mysql_error());}

如果我回复mysql_num_rows($test);我得到40。这意味着我得到了结果 但是当我print_r $roww = mysql_fetch_array($test);时,我只得到一个结果。

没有php错误。

6 个答案:

答案 0 :(得分:1)

您必须使用以下内容循环显示结果:

while($row = mysql_fetch_array($test)) {
    // awesomeness with $row
}

答案 1 :(得分:1)

尝试使用循环。

while($row = mysql_fetch_array($test)){

}

答案 2 :(得分:1)

您需要迭代查询中的结果。

while($row = mysql_fetch_array($test))
{
  // This is how you print fname.
  echo $row[0];
}  

请参阅文档,其中还提供了许多有关如何使用此功能的有用提示。

http://php.net/manual/en/function.mysql-fetch-array.php

您还应该知道还有另一个有用的函数可以从mysql查询中获取结果,并将结果作为关联数组提取。

http://php.net/manual/en/function.mysql-fetch-assoc.php

答案 3 :(得分:1)

mysql_fetch_array一次返回一行。如果要遍历所有这些,请执行以下操作:

while ($row = mysql_fetch_array($test))
    //Do something

答案 4 :(得分:1)

http://php.net/manual/en/function.mysql-fetch-array.php

查看文档。 mysql_fetch_array一次只获取一行数据。要获取所有40行的数据,您需要一个循环(就像由mysql_num_rows调节的for循环)。

答案 5 :(得分:0)

你必须通过行循环:

while($row = mysql_fetch_array($test)){
    var_dump($row);
    //etectera
}