2016-08-25 6 views
-2

я пытаюсь написать, что я думал, был простой SQL-запрос для моего сайта, но он продолжает идти вверх, как ошибка:IF NOT EXISTS ... не работает, и понятия не имею, почему

Оператор:

if(!mysqli_query($con, 
"IF NOT EXISTS(SELECT email FROM users WHERE email = '".$email."') BEGIN INSERT INTO users(email) VALUES ('".$email."') END") 
){ ... } 

ошибка:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS(SELECT email FROM users WHERE email = '[email protected]') BE' at line 1

Я пытался идти по ней много раз, но я не вижу ничего плохого. Соединение с базой данных работает, и таблица users и атрибут столбца/первичный ключ email также настроены правильно.

+0

распечатать запрос, а затем скопировать и запустить этот запрос в mysqli. –

ответ

1

Я могу предложить вам новый подход к решению вашей проблемы. Если вам нужно вставить новое электронное письмо, которого нет в вашей таблице, и игнорировать вставку электронной почты, которая уже присутствует в вашей таблице, вы можете использовать «INSERT IGNORE».

$sql = "INSERT IGNORE INTO users(email) VALUES ('$email')"; 
Смежные вопросы