1

ユーザーID、ユーザー名、パスワードの3つの列で構成されるデータベーステーブルがあるとします。そして、私がログインフォームを作成していて、パスワードが暗号化された形式で保存されていると仮定しましょう。したがって、元のパスワードと比較する前に、少し処理する必要があります。

そこで、ユーザーにユーザー名とパスワードをフォームに入力させます。

include('db.php');      
$getuid = $connection->prepare('SELECT FROM users WHERE username = :u');
$getuid->execute(array("u" => $_REQUEST['username']));

これでステートメントを実行し、入力されたユーザー名の行が選択されました。

私がやりたいこと ?

行を選択した後、対応するパスワード(暗号化された形式)とユーザーIDを変数に格納する必要が$passあり$useridます。どうやってやるの?

4

2 に答える 2

1

クエリは、テーブルユーザーからすべての列を選択/取得する場所であるselect必要があります。$getuid = $connection->prepare('SELECT * FROM users WHERE username = :u');*

次に、以下に示すように、列名(username、say pwd)に従って結果をトラバースし、対応する値を取得します。

    $results = $stmt->fetch(PDO::FETCH_ASSOC);
    foreach ( $results as $v) {
     $username = $v['username'];
     $pwd = $v['pwd']; 
     }

注:元のパスワードまたはデコードされたパスワードを取得することはできません。ここでうまく説明されています

于 2012-09-27T13:46:32.560 に答える
0

ユーザーがユーザー名をunameとして入力した場合は、このクエリを使用して取得します

select password,userid from users where user_name=uname
于 2012-09-27T13:33:11.973 に答える