Невозможно вставить несколько строк в базу данных при использовании цикла for, вместо вставки нескольких строк будет вставлена только одна строка в базу данных Oracle.
После нескольких попыток я не могу вставить несколько строк в базу данных Oracle при использовании цикла for (PHP), затратив много времени на поиск. Я не могу найти решение своей проблемы. Насколько я думаю, что-то не так с QUERY.
Более того, будет вставлена одна строка в базу данных,
Мой код дан после
$arr =array();
for( $l=0; $l<count($_POST['i_id']); $l++ )
{
$item_id = $_POST['i_id'][$l];
$fk_saleord_no = $r;
$var2 = $_POST['sales_order_date'];
$fix2 = str_replace('/', '-', $var2);
$fk_saleord_date = date('d-m-Y', strtotime($fix2));
$entity_no_branch = $_POST['p_branch'];
$insert1 = "INSERT INTO SALE_ORDER_DTL(FK_SALEORD_NO, FK_SALEORD_DATE,
ENTITY_NO_BRANCH, ITEM_ID )VALUES('.$fk_saleord_no.','.
$fk_saleord_date.','. $entity_no_branch.','. $item_id .')";
$send1 = oci_parse($gerp, $insert1);
oci_execute($send1);
$arr[] = $insert1;
}
При печати моего цикла:
echo "<pre>";
print_r($arr);
exit;
Это дает следующий результат:
Array
(
[0] => INSERT INTO SALE_ORDER_DTL(FK_SALEORD_NO, FK_SALEORD_DATE,
ENTITY_NO_BRANCH, ITEM_ID )VALUES('.1190062.','. 11-01-2019.','. POS-
0001.','. 168 .')
[1] => INSERT INTO SALE_ORDER_DTL(FK_SALEORD_NO, FK_SALEORD_DATE,
ENTITY_NO_BRANCH, ITEM_ID )VALUES('.1190062.','. 11-01-2019.','. POS-
0001.','. 191 .')
[2] => INSERT INTO SALE_ORDER_DTL(FK_SALEORD_NO, FK_SALEORD_DATE,
ENTITY_NO_BRANCH, ITEM_ID )VALUES('.1190062.','. 11-01-2019.','. POS-
0001.','. 224 .')
)
Все, что мне нужно, это вставить все строки в базу данных.