PHP mysqli_num_rows изменяется при изменении хеш-функции

Итак, я пытался изменить хэш-функцию с md5 на sha256. Он отлично работает на этапе регистрации, новый пользователь создается с новой хэш-функцией, примененной к паролю.

Хотя, когда я пытаюсь войти в систему, я получаю сообщение об ошибке. Ошибка — это то, что я положил в код, большая проблема здесь, почему это вообще происходит.

У меня есть следующий код:

$sql = "SELECT * FROM username WHERE username='$u' AND activated='1' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
// Now make sure that user exists in the table
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
echo "That user does not exist or is not yet activated, press back";
exit();
}

Я ничего не изменил здесь, но когда я вхожу сейчас, я вместо того, чтобы перейти на страницу, на которую я должен прийти, я получаю сообщение об ошибке: «Этот пользователь не существует или еще не активирован, нажмите назад ». Я повторил переменную $ numrows, и она показывает, что $ numrows равен нулю. Я понятия не имею, почему это произошло, потому что я только изменил хэш-функцию.

Однако, когда я нажимаю обратно в браузере, я попадаю на страницу, на которую я должен был прийти в первую очередь, и переменная $ numrows изменяется на 1.

Было бы очень хорошо, если бы кто-нибудь захотел объяснить мне это, поскольку я понятия не имею, почему переменная $ numrows внезапно равна нулю, а не> 0.

С уважением

РЕДАКТИРОВАТЬ

Я с помощью GolezTrol пришел к выводу, что либо $ numrows, либо $ user_query ложно. Теперь вопрос меняется на то, почему это происходит.

EDIT2

После дальнейшего тестирования я могу утверждать, что это не $ user_query, который является ложным, а только $ numrows.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]