我从数据库中这样如果没有匹配的行
while ($row = mysqli_fetch_array($select_user_query)){
$userId = $row ['id'];
$check_email = $row ['userEmail'];
$check_password = $row ['userPassword'];
}
获取数据,然后我比较,如果输入的细节匹配从数据库中取出的详细信息如何验证数据。
if ($email === $check_email || $hashed_password === $check_password) {
// header ("Location:../dashboard.php");
echo "success";
} else {
// header ("Location: ../signup.php");
echo "failed";
}
但问题是,如果输入的电子邮件地址不存在于数据库中,则返回错误
注意:未定义的变量:check_email在 C:\ xampp2 \ htdocs中\诚实\ includes \ login_process.php on line 37
但是,如果电子邮件存在,则返回成功。
所以问题是,这里最好的做法是什么?如果它是空的,我应该将默认值设置为$check_email
吗?从查询来
'$ row'将返回FALSE,如果没有这样的行...'如果($行&& $ email === $ check_email && $ hashed_password === $ check_password)' – Phil
@菲尔是的,它的工作。谢谢,你可以发布这个答案,并解释你是否不介意 –
你也意识到如果你的语句中有多行,这只会检查结果集中的最后一个。 – Phil