Я использую очень простой оператор вставки
INSERT INTO table (col1, col2, col3) VALUES (1,2,3), (4,5,6), (7,8,9), ...
В настоящее время часть запроса, содержащая вставляемые значения, представляет собой отдельную строку, созданную в цикле.
Как вставить несколько строк с помощью подготовленного оператора?
изменить: Я нашел этот фрагмент кода. Однако при этом выполняется отдельный запрос для каждой строки. Это не то, что я ищу.
$stmt = $mysqli->stmt_init();
if ($stmt->prepare("INSERT INTO table (col1, col2, col3) VALUES (?,?,?)")){
$stmt->bind_param('iii', $_val1, $_val2, $_val3);
foreach( $insertedata as $data ){
$_val1 = $data['val1'];
$_val2 = $data['val2'];
$_val3 = $data['val3'];
$stmt->execute();
}
}
edit#2: Мои значения берутся из многомерного массива переменной длины.
$values = array( array(1,2,3), array(4,5,6), array(7,8,9), ... );
Подробнее здесь: https://stackoverflow.com/questions/192 ... i-prepared
Как вставить несколько строк за один раз в базу данных, используя подготовленный оператор MySQLi [дубликат] ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение