у меня авторизация которая получает всю информацию из бд через $_POST telegram_id, и сверяет, равен ли введенный пароль полученному паролю. но если аккаунт не существует, он ошибку выводит Trying to access array offset on value of type null если ввести верные данные, все ок. PHP: $telegram_id = filter_var(trim($_POST['telegram_id']), FILTER_SANITIZE_STRING); $password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING); $query = "SELECT * FROM `workers` WHERE telegram_id='$telegram_id'"; $result = $mysql->query($query); $result = $result->fetch_assoc(); if ($password == $result["password"]) { echo "пароль верный"; } else { echo "пароль неверный"; }
Да потому... Вы независимо от результата запроса пытаетесь использовать результат. А его нет. Да и вещи такие делаются одновременной проверкой логина и пароля в запросе... Ну и неэкранированные данные прямой путь в никуда... То есть sql иньекции
Проверяйте что result существует. И почитайте про prepare statements, ваш текущий код достаточно просто сломать.