首页 > 解决方案 > 已经完成 php 提取后如何在第 1 行启动 while 循环

问题描述

我想从数据库中获取数据并最初使用第一行。然后稍后如果某些值是真的,我想遍历所有行。

问题是 while 循环从第二行开始。

有没有办法让循环从第一行开始?

下面是简化的例子:

<?php
//GET THE CONNECTION DATA FOR $CONNECTION
require_once('../connect.php');

$get_data = $connection->prepare('SELECT * FROM db WHERE email = :email');
$get_data -> execute(['email' => 'john@doe.com']);

$data = $get_data->fetch();
echo $data->email;
echo '<br>';

while($data = $get_data->fetch())
{
    //STARTS AT THE SECOND ROW BUT NEEDS TO BE THE FIRST ROW
    echo $data->last_name;
    echo '<br>';
}

标签: phpmysqlpdowhile-loop

解决方案


是的,您可以使用fetchAll()

$results = $get_data->fetchAll ();
$data = $results[0];
echo $data->email;
echo '<br>';

foreach($results as $data) {
    //...
}

推荐阅读