Невозможно войти, используя php и mysql

0

Я получаю ошибку:

У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'Password =' kdsdj '' в строке 1

Код для проверки моего логина выглядит следующим образом. Логин подтверждается, если введенные имя пользователя и пароль соответствуют значению в базе данных.

<?php 
include 'Database.php';
$username = $_POST['username'];
$password = $_POST['password'];

$username = stripslashes($username);
$password = stripslashes($password);
$username = mysqli_real_escape_string($con, $username);
$password = mysqli_real_escape_string($con, $password);

$query = mysqli_query(
    $con, "SELECT * FROM student WHERE Username='$username',Password='$password'"
)
or die(mysqli_error($con));

$res = mysqli_fetch_array($query);

if ($res['Username'] == $username && $res['Password'] == $password) {
    header('location:List.php');
} else {
    header('location:index.php');
}

?>
  • 0
    Обратите внимание, что вы храните фактический пароль в базе данных, а не хешированную, соленую версию (которую нельзя изменить, чтобы создать оригинал). Это очень серьезный недостаток безопасности. Ищите советы по безопасности пароля.
  • 0
    Прочитайте, как использовать password_hash .
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

В вашем запросе вам нужно заменить запятую на AND или &&. Однако AND - это рекомендуемый выбор.

Вот так:

"SELECT * FROM student WHERE Username='$username' AND Password='$password'" 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню