|
|
|
| Всем привет!
Ранее массировал этот вопрос на форуме, но решение так и не получилось.
Проблема вот в чем:
Через форму поступает N-кол. Массивов (ограничимся одним)
Нужно добавить в DB с помощью конструкции (IN implode).
Результат, ошибка синтак конструкции (IN).
В чем ошибка?
$query = mysql_query("INSERT INTO `products` (test)
VALUES ( IN ('".implode(',',$mas)."') ");
|
Ранее я спрашивал.. можно ли добавить этой конструкцией, мне все сказали – да.
Я считаю что эта конструкция ЕСТЕСТВЕННА по природе (WHERE id IN (".implode(",",$valid_id).")");)
А эта изначально – ущербна VALUES ( IN ('".implode(',',$mas)."') ")
Заранее благодарен за помощь! | |
|
|
|
|
|
|
|
для: Denandi
(29.10.2009 в 13:17)
| | может мы всё же отделим мухи от котлет - синтаксис языка SQL и функции php?
А заодно и вспомним, наконец, синтаксис оператора INSERT. | |
|
|
|
|
|
|
|
для: Trianon
(29.10.2009 в 13:32)
| | Спасибо Trianon за отклик! :))
Я рад бы отделить но мне приходится с ними сотрудничать - как с одним целым. | |
|
|
|
|
|
|
|
|
для: Denandi
(29.10.2009 в 13:17)
| | Должно быть так:
$query = mysql_query("INSERT INTO `products` (test)
VALUES ( IN ('".implode("','", $mas)."') ");
|
Каждое значение массива должно быть заключено в одинарные кавычки. А у вас получалось, что весь массив в кавычках. | |
|
|
|
|
|
|
|
для: Meh
(29.10.2009 в 22:18)
| | Чушь дважды.
Значения массива никаких кавычек не требуют. | |
|
|
|
|
|
|
|
для: Trianon
(29.10.2009 в 22:25)
| | Тогда так, гениальный вы наш:
$query = mysql_query("INSERT INTO `products` (test)
VALUES ( IN (".implode(",", $mas).") ");
|
Но это подходит в случае, если массив содержит только числа.
Первый вариант более правильный, т.к. массив может содержать и дату/время и строки. Он же корректно сработает и с числами. | |
|
|
|
|
|
|
|
для: Meh
(30.10.2009 в 09:27)
| | Трианон не ваш, он сам по себе (см. фото)
Вам кажется что Вас хотят столкнуть под электричку, но на самом деле хотят натолкнуть на путь истинный. Хотя скорее всего уже не хотят, поэтому заводите нового "перса" и прокачивайте "репу". Если я ещё не совсем понятно излогаю (такое бывает с утра), то речь идёт о сохранности чистоты воды в колодце... | |
|
|
|
|
|
|
|
для: Valick
(30.10.2009 в 10:08)
| | Надо закрывать тему, пока не подрались! :)
Все получилось, правда, причину так и не обнаружил..
Склоняюсь к кирил. попаданию. Так как пример заработал после того как я его переписал – заново.
по поводу кавычек - правы все.. пример работает и так и так.
Еще раз спасибо. | |
|
|
|
|
|
|
|
для: Denandi
(30.10.2009 в 10:54)
| | Темы здесь не закрываются (в обычном понимании), а драк я ещё не видел ни разу.. ругань была, а драк нет ;) Но и ругаться я абсолютно не собираюсь. | |
|
|
|
|
|
|
|
для: Meh
(30.10.2009 в 09:27)
| | Так тоже чушь. :) | |
|
|
|
|
|
|
|
для: Trianon
(30.10.2009 в 14:56)
| | Конечно, полная чушь.
Проглядел, что вносим данные массива только в одно поле test.
Почему-то упёрся в "INSERT INTO `products` () ..."
PS. Электрички и персы - чушь дважды. ;)) | |
|
|
|