Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO Select语句返回二维数组,如何从该数组中打印一个值_Php_Sql_Arrays_Pdo - Fatal编程技术网

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

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 @

在我的项目中,我试图从数据库中选择一个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 @$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