Массовый insert в базу из массива на php?

84
14 февраля 2022, 15:10

Есть массив $data[1] с рандомным количеством значений, либо вообще пустой.

Array
(
    [0] => wRb
    [1] => TxR
    [2] => bw
    [3] => owT
    [4] => hwi
    [5] => hhb
)

Как его вставить в таблицу одним запросом, чтобы каждое значение вставлялось в новую строку? Что-то вроде такого, только заранее неизвестно сколько всего данных в массиве.

id(int)   data
1         wRb
2         TxR
3         bw
...       ...
79        owT
80        hwi
Answer 1

Для того, чтобы собрать в один запрос, нужно воспользоваться функцией join.
И просто правильно разобрать:

$arr = [
    0 => "a",
    1 => "b",
    2 => "c"
];
$values = "INSERT INTO `table` (`data`) VALUES ('" . join("'), ('", $arr) . "')";

В результате получим:

INSERT INTO `table` (`data`) VALUES ('a'), ('b'), ('c')

По хорошему, если будет много столбцов и разные данные, можно сделать, чтобы массив выглядел так: column => value где ключ столбец, а значение массива, для вставки в столбец.

READ ALSO
Как урезать изображение при загрузки его на проект

Как урезать изображение при загрузки его на проект

Помогите уменьшит изображение знаю то что нужно resize() но не пойму куда его вставлять

109
Сокращение строки

Сокращение строки

Строка сокращается, если диапазон больше {1,40}Но если меньше, пропадает

147
Проверка заполнения поля формы

Проверка заполнения поля формы

Есть поле (одно из нескольких в форме, но речь именно об этом поле):

104
Форма php не отправляется на почту

Форма php не отправляется на почту

Во-первых, html страница в UTF-8, переведите php в utf8 и не занимайтесь перегоном в windows-1251 и обратно

196