@vika01

В коде php вот такая ошибка Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean, что делать?

<?php

$login=filter_var(trim($_POST['login']),FILTER_SANITIZE_STRING);
$password=filter_var(trim($_POST['password']),FILTER_SANITIZE_STRING);

if(mb_strlen($login)<5 || mb_strlen($login) > 90)
{
$error= "Недопустимая длина логина(от 5 до 15 символов).";


}
else if(mb_strlen($password)<5 || mb_strlen($password) > 15)
{
$error= "Недопустимая длина пароля(от 5 до 15 символов).";


}
else if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))
{
$error= "Логин может состоять только из букв английского алфавита и цифр.";


}

$mysqli= mysqli_connect(
"localhost","root","","authorization1");
if(mysqli_connect_errno())
{

echo"Не удалось подключиться к mysqli:" .mysqli_connect_error();
}
$SQL = "SELECT * FROM `users` WHERE `login`='$login' and `password = md5('$password')";
$res = mysqli_query($mysqli, $SQL) ;

if(!$res)
$error= 'Запрос не удался';

$row = mysqli_fetch_assoc($res);
if($row)
{
$is_autorized = True;
}
else{
$error= 'Неверная пара логин пароль';
}

if(empty($is_autorized))
include 'forma.php';
else{
echo "Вы успешно авторизовались";
}

?>
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
$SQL = "SELECT * FROM `users` WHERE `login`='$login' and `password` = '".md5($password)."' ";
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы