如何在foreach循环中显示来自PDO的数据
how to display data from PDO in foreach loop
我是 php 的新手,我正在尝试通过 table 内的 foreach 循环显示 stdClass 对象数据。但它不起作用。
include("../config.php");
$get_data = $conn->query("SELECT * FROM `prd_rgistration`");
$prd_data = $get_data->fetchObject();
print_r($prd_data);
数据打印
stdClass Object
(
[id] => 24
[password_db] => kignkgsnis
[country_db] => United States
[porder_db] => 56313241654321324
[email_db] => nisa@gmail.com
)
Foreach 循环
foreach($prd_data as $eprd_data){
echo $eprd_data->id;
}
出现此错误
Trying to get property of non-object
请告诉我如何显示数据。我做错了什么。
您需要遍历查询结果:
while ($prd_data = $get_data->fetchObject()) {
echo $prd_data->id;
}
而不是
$prd_data = $get_data->fetchObject();
您只会得到一个对象,而不是一个数组,所以将 while 循环包裹在 fetch 周围
while ($prd_data = $get_data->fetchObject())
echo $prd_data->id;
将此行添加到您的 config.php
$conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
将代码更改为
$get_data = $conn->query("SELECT * FROM `prd_rgistration`");
foreach($get_data as $prd_data){
echo $prd_data->id;
}
有两种方法:-
1.bit 修改你的代码:-
遍历查询结果:-
while ($prd_data = $get_data->fetchObject()) {
echo $prd_data->id;
}
2.Use $prd_data = $get_data->fetchAll(PDO::FETCH_OBJ);
然后 foreach
如您所用。
foreach($prd_data as $eprd_data){
echo $eprd_data->id;
}
注意:- 根据我的说法,你有兴趣获取所有记录,所以去第二个 one.Thanks
@你的常识也推荐了另一种方式
我是 php 的新手,我正在尝试通过 table 内的 foreach 循环显示 stdClass 对象数据。但它不起作用。
include("../config.php");
$get_data = $conn->query("SELECT * FROM `prd_rgistration`");
$prd_data = $get_data->fetchObject();
print_r($prd_data);
数据打印
stdClass Object
(
[id] => 24
[password_db] => kignkgsnis
[country_db] => United States
[porder_db] => 56313241654321324
[email_db] => nisa@gmail.com
)
Foreach 循环
foreach($prd_data as $eprd_data){
echo $eprd_data->id;
}
出现此错误
Trying to get property of non-object
请告诉我如何显示数据。我做错了什么。
您需要遍历查询结果:
while ($prd_data = $get_data->fetchObject()) {
echo $prd_data->id;
}
而不是
$prd_data = $get_data->fetchObject();
您只会得到一个对象,而不是一个数组,所以将 while 循环包裹在 fetch 周围
while ($prd_data = $get_data->fetchObject())
echo $prd_data->id;
将此行添加到您的
config.php
$conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
将代码更改为
$get_data = $conn->query("SELECT * FROM `prd_rgistration`"); foreach($get_data as $prd_data){ echo $prd_data->id; }
有两种方法:-
1.bit 修改你的代码:-
遍历查询结果:-
while ($prd_data = $get_data->fetchObject()) {
echo $prd_data->id;
}
2.Use $prd_data = $get_data->fetchAll(PDO::FETCH_OBJ);
然后 foreach
如您所用。
foreach($prd_data as $eprd_data){
echo $eprd_data->id;
}
注意:- 根据我的说法,你有兴趣获取所有记录,所以去第二个 one.Thanks
@你的常识也推荐了另一种方式