PDO::FETCH_ASSOCを使い連想配列形式でデータを取得

PDOStatementオブジェクトから連想配列形式で1行ずつデータを取得する

PDO::FETCH_ASSOCと指定すると添え字を付けたカラムを返すことができる

<?php

//20歳のユーザ-を全て取得

$sql = 'SELECT * FROM user WHERE age = :age';

$stmt = $pdo->prepare($sql);

$stmt->execute(array(':age'=> 20));

//取得した20歳のユーザ-をループ

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

    //添え字を付けたカラムを1行ずつ返す(カラム名)

    echo $rows['name'];

}

?>

・FETCH_NUMと指定すると連番形式で取得
・デフォルトではFETCH_BOTHとなっていて、カラム名と連番の両方を取得する

つまり未指定の場合は両方取得できるので$stmt->fetch()みたいに省略しても問題ない

投稿者: arsengineer

php,mysql等でウェブアプリ作ったりしてます。 奥さんと娘1人、息子1人の4人家族。30後半の男です。

スポンサードリンク