假设我有一个由三列组成的数据库表 - 用户 ID、用户名和密码。假设我正在构建一个登录表单并且密码以加密形式存储。因此,在与原始密码进行比较之前,需要对其进行一些处理。
所以,我让用户在表单中输入用户名和密码。
include('db.php');
$getuid = $connection->prepare('SELECT FROM users WHERE username = :u');
$getuid->execute(array("u" => $_REQUEST['username']));
现在,我已经执行了语句,并选择了具有 Entered Username 的行。
我想做什么?
选择行后,我希望将相应的密码(以加密形式)和用户标识存储在$pass
、$userid
变量中。我该怎么做?
最佳答案
select
查询需要是 $getuid = $connection->prepare('SELECT * FROM users WHERE username = :u');
where *
选择/获取表 users 中的所有列。
然后遍历结果,根据他们的列名(用户名,和pwd)得到他们对应的值,如下图:
$results = $stmt->fetch(PDO::FETCH_ASSOC);
foreach ( $results as $v) {
$username = $v['username'];
$pwd = $v['pwd'];
}
注意:您无法找回原始密码或解码后的密码,它的解释很好 here
关于php - 在 PDO/MySQL 中获取同一行的下一列的下一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622494/