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

时间:2015-02-13 17:07:16

标签: php sql arrays pdo

在我的项目中,我试图从数据库中选择一个id字段和一个varchar字段,我想返回一个包含id字段和varchar字段的2维数组。这就是我所做的:

        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 1

我想只打印数组状态部分中保存的值。希望有人可以提供帮助。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

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

然后,您可以循环遍历该数组,如下所示:

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