Php PDO Select语句返回二维数组,如何从该数组中打印一个值
在我的项目中,我试图从数据库中选择一个id字段和一个varchar字段,我想返回一个包含id字段和varchar字段的二维数组。这就是我所做的:Php PDO Select语句返回二维数组,如何从该数组中打印一个值,php,sql,arrays,pdo,Php,Sql,Arrays,Pdo,在我的项目中,我试图从数据库中选择一个id字段和一个varchar字段,我想返回一个包含id字段和varchar字段的二维数组。这就是我所做的: foreach($dbh->query("SELECT status, post_id FROM status WHERE user_id = " . $user_id) as $row_all){ $ret_array[] = $row_all; } return @
foreach($dbh->query("SELECT status, post_id FROM status WHERE user_id = " . $user_id) as $row_all){
$ret_array[] = $row_all;
}
return @$ret_array;
当我在另一页上打印值时:
foreach ($all_stats as $key => $value) {
foreach ((array)$value as $post_id => $status) {
echo $status;
}
}
当它打印在页面上时,我得到:
第二职位
1.
一,
我只想打印数组状态部分中保存的值。希望有人能提供帮助。由于该行是一个关联数组,请使用所需的键对其进行索引:
foreach ($all_stats as $row) {
echo $row['status'];
}
当你已经使用PDO时,你应该考虑使用PDO语句。 在准备好查询并执行语句后,$array=$Statement->fetchAllPDO::FETCH_ASSOC;可以直接接收查询结果;。返回一个关联数组,如下所示:
[0] => ID => 1
=> Status => 0
[1] => ID => 2
=> Status => 1
然后,您可以循环通过该数组,如下所示:
for ($i = 0; $i < count($array); $i++){
echo $array[$i]['status'];
}
这是我尝试这样做时返回的结果:警告:C:\xampp\htdocs\Bloggie\Bloggie_Profile.php中第93行的非法字符串偏移量'status',这意味着$all_stats是一个字符串数组,不是二维数组。你对foreach有什么看法?而$i