微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

循环通过fetchall而不知道字段php

我有一个简单的查询,它将从用户表中获取所有

$query = $this->pdo->prepare('SELECT * FROM `users`');
$query->execute();
return $query->fetchAll();

然后我会有一个类似的foreach循环

$results = $User->getUser();
foreach($results as $result){
echo $result['fname'];
echo $result['lname'];
}

但有没有办法显示每个字段而不写每个字段名称

解决方法:

首先,修复返回fetchAll以指定返回样式,如下所示:

return $query->fetchAll(PDO::FETCH_ASSOC);

然后你可以使用你的outter循环的内部循环,如下所示:

//get the results
$results = $User->getUser();
//loop over the results, setting $result to an array representing each row
foreach($results as $result){
    //loop over each $result (row), setting $key to the column name and $value to the value in the column.
    foreach($result as $key=>$value){
        //echo the key and value.
        echo "{$key} = {$value}<br>";
    }
}

无论数组中的列是什么,这都将输出所有列及其值.在评论之后,您可以看到我所做的是,使用您的代码,循环遍历外部数组,该数组是查询中每行的数组.然后从每一行循环遍历数组,获取列名和该列中的值.现在我只是回应了专栏和价值.您可能希望做更多的事情,比如回应一个表或任何你的最终目标.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐