我有一个应该返回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错误。
答案 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查询中获取结果,并将结果作为关联数组提取。
答案 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
}