Запись одним запросом

Рейтинг: 0Ответов: 1Опубликовано: 30.12.2014

В прошлом вопросе мне дали утвердительный ответ, который я и так знал. Немного поразмыслив, пришел к этому:

$res = "INSERT INTO SC_products (categoryID, Price, in_stock, enabled, product_code, name_en,brief_description_en,description_en,meta_title_en,meta_description_en,meta_keywords_en,slug,name_ru,brief_description_ru,description_ru,meta_title_ru,meta_description_ru,meta_keywords_ru,ordering_available) VALUES (" . implode("), (", $arr) . ")";  
mysqli_query($link, $res);

Вопрос: что я не так делаю, почему данные не записываются в базу?

Ответы

▲ 1Принят

Правильный запрос выглядит так:

INSERT INTO Customers (CustomerName, City, Country)
VALUES ("Cardinal", "Stavanger", "Norway")

обновлено:

Ваш запрос после implode выглядит так:

INSERT INTO Customers (CustomerName, City, Country)
VALUES (Cardinal), (Stavanger), (Norway)

Вывод: не хватает кавычек внутри implode, а также первой и последней пары скобок:

Пример:

$res = "INSERT INTO SC_products (categoryID, Price, in_stock, enabled, product_code, name_en,brief_description_en,description_en,meta_title_en,meta_description_en,meta_keywords_en,slug,name_ru,brief_description_ru,description_ru,meta_title_ru,meta_description_ru,meta_keywords_ru,ordering_available) VALUES ('" . implode("'), ('", $arr) . "')";