У меня есть динамическая HTML-форма с тремя полями (элемент, номер, стоимость).Пользователи могут добавлять столько строк, сколько им нужно.Из-за этого я установил имена полей как item [], number [], cost [], чтобы перебрать пост и вставить значения в БД.
Я проверил, что значенияправильно отправил правильно через vardump, и я проверил, что следующий цикл выбирает значения (и ключ и значение) через printr.(а также просто повторяя $ value1).
foreach ($_POST as $field => $value) {
foreach($value as $field1 => $value1){
echo $field . ':' . $value1 . '</br>' ;
}
};
Однако, если я пытаюсь вставить вставку, передавая значения для выполнения, ничего не происходит (данные не вставляются, и я не получаю сообщение об ошибке).
if($_POST['submit']){
try {
$pdo->beginTransaction();
$stmt = $pdo->prepare('INSERT INTO invoice (item, number, cost) VALUES (?,?,?);');
foreach ($_POST as $item => $value) {
foreach($value as $item1 => $value1){
$stmt->execute($value1);
}
}
$pdo->commit();
}
catch (Exception $e){
$pdo->rollback();
throw $e;
}
}
Я знаю, что $ value1содержит правильные значения, но они не вставляются.Кто-нибудь может помочь?
Я пытался:
https://phpdelusions.net/pdo_examples/insert#multiple
оператор вставки PDO с циклом через массив $ _POST
массив вставки PDOзначения Вставить несколько строк, используя форму и PDO
Нужно php pdo развернуть массивы и вставить несколько строк в MySQL