Php Foreach循环只返回第一行的值

Php Foreach循环只返回第一行的值,php,Php,我有一个大的PDO语句,它最多返回10条记录。然而,在我的foreach循环中,当我执行var转储时,我看到只返回第一条记录中的数据。如果有10条记录,则仅显示来自第一条记录的相同数据10次。最后,我尝试获取返回的每一行的ID2值,并将其存储在$blurb中。但是,按照目前编写more foreach的方式,$ID2始终是第一条记录的值,无论返回多少条记录。我是否需要$I=1和break等来获取var_dump结果,以显示查询中返回的每一行的不同数据 //Query code ends here

我有一个大的PDO语句,它最多返回10条记录。然而,在我的foreach循环中,当我执行var转储时,我看到只返回第一条记录中的数据。如果有10条记录,则仅显示来自第一条记录的相同数据10次。最后,我尝试获取返回的每一行的ID2值,并将其存储在$blurb中。但是,按照目前编写more foreach的方式,$ID2始终是第一条记录的值,无论返回多少条记录。我是否需要$I=1和break等来获取var_dump结果,以显示查询中返回的每一行的不同数据

//Query code ends here
$results2->execute();
$row2 = $results2->fetchAll(PDO::FETCH_ASSOC);

foreach ($row2 as $result5) {
echo var_dump($row2[0]);

}

$blurb = $row2[0]['ID2'];

请尝试此项以获取前10条记录

//Query code ends here
$results2->execute();
$row2 = $results2->fetchAll(PDO::FETCH_ASSOC);
$ccount=0;$data=null;
foreach ($row2 as $result5) {
  $ccount++;
    $data[]=$result5;
    if($ccount>9) {break;}
      }

$blurb = $data;

foreach($result5为row2){echo var_dump($result5);}
您正在作为
$result5
进行迭代。使用
var\u dump($result5)
(另外,不要
echo var\u dump()
-
echo
是多余的,因为
var\u dump()
写入输出流本身,并在我更改为var\u dump($result5)时返回
null
,这是发送到
echo
)的内容)我只是将null打印10次,而不是将第一行的值打印10次。我进行var_转储的唯一原因是查看返回的10行中的每一行是否都是不同的值,而不是反复重复的第1行的值,而不是
$results5
,而是
$result5
。我将尝试一下。而不是$data=null,我只是更改为data=$row2[0]['ID2'];(这是我想从返回的每条记录中提取的日期),对吗?请尝试像$data[]=$result5['ID2'];
$count
在这里毫无意义。我们假设您已经使用
LIMIT
限制了SQL中的结果。
$data[]
数组追加没有意义,因为
fetchAll()
已经返回了您的所有行。我们无法在编程中进行假设。这就是为什么我提出。他没有提到sql中的限制。所以我写了。正确,我以前已经限制了结果。无论如何,它通过执行foreach($row2作为$result5){$blurb=$result5['ID2'];}来工作