由于某种原因,此查询区分大小写:
它只返回是否找到了用户:
因此,现在它只检查输入的电子邮件,仅仅是为了查看查询是否正常运行,以及我们是否从数据库中获取结果,随后我们将检查密码并添加实际的登录功能。
这是数据库中的数据: 现在,如果我将我的用户名填写为"chris"并运行函数,它会返回"用户已找到",因此我知道查询成功。但是,如果我填写为"Chris",则返回"未找到用户",因此我知道查询失败。
不过,我已经找到了问题所在,并已发布为答案。
$stmt = $db->prepare("SELECT * FROM people WHERE email = :email LIMIT 1");
它只返回是否找到了用户:
$stmt->bindParam(':email', $email);
$stmt->execute();
$row = $stmt->fetch();
if($row['email'] == $email)
{
return "<span style='color: red;'>User found.</span><br>";
} else {
return "<span style='color: red;'>User not found.</span><br>";
}
顺便说一下,这只是暂时的。如果我确认它能正常工作,就会有密码哈希。
如果我使用与数据库条目相同的大小写,它可以轻松找到用户。
以下是我的表格,你可以看到所有定义都是ci:
这实际上是我在不了解php时构建的现有网站,所以我正在完全重写很多内容,并设置适当的密码哈希和https。 在编写新功能之前,这一切都运作良好,数据库中没有任何更改...因此,现在它只检查输入的电子邮件,仅仅是为了查看查询是否正常运行,以及我们是否从数据库中获取结果,随后我们将检查密码并添加实际的登录功能。
这是数据库中的数据: 现在,如果我将我的用户名填写为"chris"并运行函数,它会返回"用户已找到",因此我知道查询成功。但是,如果我填写为"Chris",则返回"未找到用户",因此我知道查询失败。
不过,我已经找到了问题所在,并已发布为答案。