「PHPとデータベース - SELECT」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
12行目: 12行目:
  <syntaxhighlight lang="php">
  <syntaxhighlight lang="php">
  while ($record = $pdo->fetch(PDO::FETCH_ASSOC)) {
  while ($record = $pdo->fetch(PDO::FETCH_ASSOC)) {
     echo "htmlspecialchars($records['name'])";
     echo htmlspecialchars($records['name']);
     echo "htmlspecialchars($records['address'])";
     echo htmlspecialchars($records['address']);
  }
  }
  </syntaxhighlight>  
  </syntaxhighlight>  
26行目: 26行目:
   
   
  foreach ($records as $record) {
  foreach ($records as $record) {
     echo "htmlspecialchars($record['name'])";
     echo htmlspecialchars($record['name']);
     echo "htmlspecialchars($record['address'])";
     echo htmlspecialchars($record['address']);
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>

2024年11月28日 (木) 02:01時点における版

概要



単一のレコードの抽出

PDO::fetchメソッドは、1レコードのみ取得する。

 $record = $pdo->fetch(PDO::FETCH_ASSOC)


繰り返し文を使用することにより、該当する複数のレコードを取得することができる。

 while ($record = $pdo->fetch(PDO::FETCH_ASSOC)) {
    echo htmlspecialchars($records['name']);
    echo htmlspecialchars($records['address']);
 }



複数のレコードの取得

PDO::fetchAllメソッドは、該当するレコードを全て取得して、連想配列に変換する。
複数のレコードに対して処理を行う場合は、その連想配列をforeach文で1レコードずつ取得する。

 $records = $pdo->fetchAll(PDO::FETCH_ASSOC);
 
 foreach ($records as $record) {
    echo htmlspecialchars($record['name']);
    echo htmlspecialchars($record['address']);
 }