У меня есть форма, которая требует, чтобы пользователь вводил свой адрес электронной почты, чтобы получить электронное письмо с возвратом пароля. Я пытаюсь сравнить электронную почту с существующими электронными письмами в базе данных перед отправкой электронной почты; если письмо не существует, сценарий не должен отправлять сброс электронной почты. Я читал опубликованные вопросы/ответы и разыгрывал свои мозги в течение нескольких часов, а также менял код, чтобы удалить пустое пространство или настроить синтаксис, но ничто не избавило меня от этого сообщения об ошибке # 1064 ... «Бои отбрасывают ...Проверка, совпадает ли адрес электронной почты пользователя с существующими адресами электронной почты в базе данных
Ошибка, которую я получаю: У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с '@ rocketmail.com' в строке 1 SQL: SELECT customer_id FROM клиента WHERE customer_email = [email protected]
$sql = "SELECT customer_id FROM customer WHERE customer_email = ".$_POST['email'];
$result = mysqli_query($db, $sql) or die(mysqli_error($db)."<br />SQL: $sql");
$num_rows = mysql_num_rows($result);
if($num_rows < 1) {
$problem = TRUE;
$error_message .= '<p class="errorctr">Email was not found in our database.</p>';
}
также, ваш код уязвим для SQL-инъекции, используйте параметризованный запрос (используя myqli prepare или PDO). –