1. ホーム
  2. php

[解決済み] "fetch(PDO::FETCH_ASSOC); "の読み方

2022-02-08 05:11:08

質問

PHPを使ってWebアプリケーションを構築しようとしているのですが、その際に メムキャッシュ データベースからのユーザーデータの保存に使用します。

例えば、こんなコードがあったとします。

 $sql    = "SELECT * FROM users WHERE user_id = :user_id";
$stmt   = $this->_db->prepare($sql);
$result = $stmt->execute(array(":user_id" => $user_id));
$user   = $stmt->fetch(PDO::FETCH_ASSOC);

をどう読めばいいのかよくわからない。 $user 変数からデータを取り出してください。Eメールとパスワードの列を読み取れるようにする必要があります。

どのように動作するのでしょうか?

どのように解決するのですか?

PDOStatement::fetch は、結果セットから行を返します。パラメータ PDO::FETCH_ASSOC は、結果を連想配列として返すよう PDO に指示します。

配列のキーは、カラム名と同じになります。テーブルに 'email' と 'password' というカラムがある場合は、 配列はこのような構造になります。

Array
(
    [email] => '[email protected]'
    [password] => 'yourpassword'
)

email」列からデータを読み出すには、次のようにします。

$user['email'];

で、'password' の場合。

$user['password'];