@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) . ')'
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
@necrodeflorator
массив в sql передаётся не так
В простейшем случае вот так надо:
"IN('" . implode("','", $array) . "')"
Ответ написан
Ваш ответ на вопрос

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

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