30

PHP を使用して Web アプリケーションを構築しようとしていますが、データベースからユーザー データを保存するためにMemcachedを使用しています。

たとえば、次のコードがあるとします。

 $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変数を読み取ってデータを取得する方法がよくわかりません。メールとパスワードの列を読めるようにする必要があります。

これはどのように作動しますか?

4

6 に答える 6

55

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

配列キーは列名と一致します。テーブルに列「email」と「password」が含まれている場合、配列は次のように構成されます。

Array
(
    [email] => 'youremail@yourhost.com'
    [password] => 'yourpassword'
)

「メール」列からデータを読み取るには、次のようにします。

$user['email'];

および「パスワード」の場合:

$user['password'];
于 2013-05-30T22:05:42.407 に答える
1

結果を読み取るには、単純な PHP 配列のように読み取ることができます。

たとえば、 の取得はなどのnameように実行できます$user['name']。ただし、メソッドfetch(PDO::FETCH_ASSOC)は 1 つのタプルのみを返します。すべてのタプルを取得したい場合は、 を使用できますfetchall(PDO::FETCH_ASSOC)。多次元配列を調べて、まったく同じ値を取得できます。

于 2013-05-30T22:04:11.263 に答える