1

假设我有一个由三列组成的数据库表 - 用户 ID、用户名和密码。假设我正在构建一个登录表单,并且密码以加密形式存储。因此,在与原始密码进行比较之前,需要对其进行一些处理。

所以,我让用户在表单中输入用户名和密码。

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

现在,我已经执行了该语句,并且选择了带有 Entered Username 的行。

我想做的事 ?

选择行后,我希望将相应的密码(加密形式)和用户 ID 存储在$pass,$userid变量中。我怎样才能做到这一点?

4

2 回答 2

1

select查询需要$getuid = $connection->prepare('SELECT * FROM users WHERE username = :u');从表用户中选择*/获取所有列。

然后遍历结果,根据它们的列名(用户名,说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 回答