为什么我会收到null作为包含数据的sql列的响应?(PHP)



我正在构建一个登录系统,除了将输入的密码与数据库中的密码交叉引用的部分外,其他所有部分都运行良好。因此,当我检查密码是否匹配时,我意识到数据库中的密码返回为null。我可以问一下发生了什么事吗??("uidExists"方法没有问题,它似乎只是在"logiUser"方法中(。

这是基于此视频https://www.youtube.com/watch?v=gCo6JqGMi30

我相信这大约是他进入logiUser函数的一小时40分钟。

function loginUser($conn,$username,$pwd){
$uidExists = uidExists($conn,$username,$username);
if($uidExists === false){
header("location: ../login.php?error=wrongslogin");
exit();
}
else{
echo $pwd;
if(is_null($uidExists["userPwd"])){
echo "Empty bruv";
}
else{
echo $uidExists["userPwd"];
}
}

function uidExists($conn,$username,$email){
$sql = "SELECT * FROM users WHERE userUid = ? OR userEmail = ?;";
$stmt = mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmt,$sql)){
header("location: ../signup.php?error=stmtfailed");
exit();
}
mysqli_stmt_bind_param($stmt,"ss",$username,$email);
mysqli_stmt_execute($stmt);
$resultData = mysqli_stmt_get_result($stmt);
if(mysqli_fetch_assoc($resultData)){
return $row;
}
else{
$result = false;
return $result;
}
mysqli_stmt_close($stmt);

}

这看起来不对:

$uidExists = uidExists($conn,$username,$username);

应该是:

$uidExists = uidExists($conn,$username,$userPwd);

最新更新