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 />';
}

しかし、私がWebページを閲覧すると、「配列」がエコーアウトするだけです。配列をprint_rすると、値は間違いなく配列に含まれます。では、これらの値を正しく表示するにはどうすればよいですか?

4

3 に答える 3

4

理にかなっています。配列に保存$rowすると、実際には2D配列が作成されます。$row値を1つだけ選択した場合でも、は配列です。選択した画像ファイル名のみを保存する$row['img_file_name']場合は、代わりに配列に保存します$row

$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 に答える