Я застрял на некоторое время сейчас.
Этот код работает по большей части, однако есть небольшая проблема. Когда я запрашиваю имя пользователя, которого нет в моей таблице, сценарий завершается ошибкой в $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);
}
Что мне не хватает / нужно изменить?
Благодаря @Rasclatt, решение было просто удалить if(!( ... ))
часть из сценария, так как он убивал, когда не мог вернуть информацию.
Других решений пока нет …