在PDO / MySQL中获取相同行的下一列的下一个元素?

时间:2012-09-27 13:25:54

标签: php mysql pdo

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

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

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

现在,我已经执行了该语句,并且选择了带有输入用户名的行。

我想做什么?

选择行后,我希望相应的密码(以加密形式)和Userid存储在$pass$userid个变量中。我怎么能这样做?

2 个答案:

答案 0 :(得分: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']; 
     }

注意:您无法检索原始密码或已解码密码,其解释很清楚here

答案 1 :(得分:0)

如果用户输入用户名为uname,则使用此查询获取

select password,userid from users where user_name=uname