php - 已经完成 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>';
}
解决方案
是的,您可以使用fetchAll()
$results = $get_data->fetchAll ();
$data = $results[0];
echo $data->email;
echo '<br>';
foreach($results as $data) {
//...
}
推荐阅读
- php - 我应该如何解决这个涉及 PHP 函数静态的错误?
- php - 卷曲+文件方案不返回 PHP 7.3+ 中的标头
- java - 检查hashmap(Key)中是否出现参数的方法
- c++ - 我在这里正确传递参数吗?
- swift - 如何使用 SwiftUI 为可隐藏视图设置动画?
- javascript - 更改 CircularProgress 的颜色和位置?
- spring-boot - Spring Boot 指标 http.client.requests 不适用于 WebClient 反应式应用程序
- amazon-web-services - 在 AWS Elastic Beanstalk 中使用 sqlite db 部署 Flask 应用程序
- php - Laravel 查询优化 (SQL)
- django - django smart 在 Django 版本 3.0.1 上选择 - 错误 ImportError: cannot import name 'six' from 'django.utils'