mysql_fetch_array只打印第一个结果

时间:2012-10-01 21:22:27

标签: php mysql arrays

  

可能重复:
  Looping through mysql_fetch_array in PHP

我有一个简单的连接查询,应该在foreach循环中回显每个数组结果。该数组不为空。打印阵列计数有效 - 有801个结果。但是,实际打印foreach上方或内部的行仅打印第一个结果。任何帮助,将不胜感激。

$listQuery = "SELECT r.email_address
            FROM wholesale_accounts a
            LEFT JOIN wholesale_register r ON r.register_id = a.register_id
            WHERE r.email_address != ''
            ORDER BY r.email_address";            
$listResult = mysql_query($listQuery);
//print_r($listResult); // prints (Resource ID #21)
//exit;

$rows = mysql_fetch_array($listResult, MYSQL_ASSOC);
$count = mysql_num_rows($listResult);
//print_r($count); // prints 801
print_r($rows); // only prints first email address
exit;

foreach($rows as $row) {
    print_r($row); // prints email address          
}

1 个答案:

答案 0 :(得分:3)

mysql_fetch_array一次获取一行,因此您需要将其置于循环中

while($rows = mysql_fetch_array($listResult, MYSQL_ASSOC))
{
   print_r($rows);
}