我已经被困了一段时间了。
此代码在很大程度上起作用,但是存在一个小问题。当我请求我的表中不存在的用户名时,脚本在$stmt->fetch()
处失败。当脚本无法返回实际的“无效用户名/密码”消息而基本上死亡时,它在网站上看起来很糟糕。
if($stmt = $DB_CON -> prepare("SELECT `ID`, `Username`, `Password`, `Email`, `Access`, `Banned` FROM `users` WHERE `Username`=?")) {
if(!($stmt -> bind_param('s', $USERNAME))){
die($stmt->error); //These return empty...
}
if(!($stmt -> execute())){
die($stmt->error);
}
if(!($stmt -> store_result())){
die($stmt->error);
}
if(!($stmt -> bind_result($ID, $USERNAME, $DB_PASSWORD, $EMAIL, $ACCESS, $BANNED))){
die($stmt->error);
}
if(!($stmt -> fetch())){
die($stmt->error);
}
我缺少/需要改变什么?
答案 0 :(得分:1)
感谢@Rasclatt,解决方案是从脚本中删除if(!( ... ))
部分,因为当它无法返回信息时它会被删除。