0

我有一个从 Mysql 数据库中检索数据、将值存储在数组中并将该数组返回给调用函数的函数。

$stmt = $dbh->prepare("SELECT img_file_name FROM mjbox_images JOIN mjbox_posts USING (post_id) WHERE post_active = 0 AND post_id = ? ");
        $stmt->bindParam(1,$post_id);
        $stmt->execute();

        $resultarray = array();

        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

                $resultarray[] = $row;
        }

        return $resultarray;

我试图在该数组中回显 $values,如下所示:

$resultarray = get_post_data($post_id);

print_r($resultarray);

foreach($resultarray as $key => $value){
    echo 'The value is: '. $value . '<br />';
}

但是当我浏览网页时,它只会回显“Array”。当我 print_r 数组时,值肯定在数组中。那么如何正确显示这些值呢?

4

3 回答 3

4

说得通。当你保存$row到你的数组时,你实际上是在创建一个二维数组。$row是一个数组,即使您只选择了一个值。如果您只想保存您选择的图像文件名,请保存$row['img_file_name']到数组中,而不是$row.

或者,使用 echo$value['img_file_name']而不是$value.

于 2012-06-06T10:23:06.497 回答
1

替换此行

$resultarray[] = $row;

有了这个:

$resultarray[] = $row['img_file_name'];
于 2012-06-06T10:20:04.503 回答
0
foreach($resultarray as $row){
    foreach($row as $key=>$value) {
        echo 'The value is: '. $value . '<br />';
    }
}
于 2012-06-06T10:24:29.363 回答