Задать вопрос
@haskell_md2

Почему IN не работает в запросе SQL?

Пытаюсь получить строчку из MySQL, которая не содержится в заранее подготовленном массиве.
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
  $array = ["Москва"];
  $res = mysqli_query($con,"SELECT title_ru FROM `_cities` WHERE title_ru LIKE '$last%' AND NOT IN ('$array))");

Но получаю следующую ошибку:
Uncaught mysqli_sql_exception: 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 'IN (' . implode(',', Array) . ')'
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@necrodeflorator
массив в sql передаётся не так
В простейшем случае вот так надо:
"IN('" . implode("','", $array) . "')"
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы