PDO Select 语句返回二维数组,我如何从该数组打印一个值

PDO Select statement returning 2 dimentional array, how do i print one value from that array

在我的项目中,我正在尝试 select 来自数据库的一个 id 字段和一个 varchar 字段,我想 return 一个包含 id 字段和 varchar 的二维数组 fields.This 是我所做的:

        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;

    }
}

当它打印在页面上时,我得到:

"Second post" 1个 1

我只想打印数组状态部分中保存的值。希望有人能帮忙。

由于该行是一个关联数组,只需使用您想要的键对其进行索引即可:

foreach ($all_stats as $row) {
    echo $row['status'];
}

由于您已经在使用 PDO,因此应该考虑使用 PDO-Statements。 在准备好查询并执行语句后,$array = $Statement->fetchAll(PDO::FETCH_ASSOC); 可以直接接收结果。 returns 一个关联数组,如下所示:

[0] => ID => 1
    => Status => 0

[1] => ID => 2
    => Status => 1

然后,您可以像此处所示循环遍历该数组:

for ($i = 0; $i < count($array); $i++){
    echo $array[$i]['status'];
}