@habra_desert

Почему появляется ошибка mysqli error #1054?

делаю запрос к базе MySql:
$data = $db->query("SELECT `price` FROM `price` WHERE `name` IN('test','test2', 'test3')");

все работает и возвращается нужный результат.

теперь то же самое только с массивом:
$name_id = array('test', 'test2', 'test3');
$data = $db->query("SELECT `price` FROM `price` WHERE `name` IN(".implode(',', $name_id).")");


в результате ошибка
mysqli error #1054: Unknown column 'test' in 'where clause'

но я ведь в обоих случаях ищу не колонки а поля, почему появляется эта ошибка?
  • Вопрос задан
  • 2286 просмотров
Решения вопроса 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
А кавычки вокруг test где? Твой второй вариант создаёт запрос:

$data = $db->query("SELECT `price` FROM `price` WHERE `name` IN(test,test2,test3)");

Что, очевидно, не равно первому варианту.

P.S. Неужели так сложно набрать
var_dump("SELECT `price` FROM `price` WHERE `name` IN(".implode(',', $name_id).")");
и самому посмотреть, что получается?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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