Невозможно вставить несколько строк таблицы в базу данных oracle (10g), используя цикл PHP - PullRequest
0 голосов
/ 11 января 2019

Невозможно вставить несколько строк в базу данных при использовании цикла 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 .')
 )

Все, что мне нужно, это вставить все строки в базу данных.

1 Ответ

0 голосов
/ 11 января 2019

Нет необходимости объединять в вашем запросе

или используйте ". $ Fk_saleord_no." чтобы вызвать параметр в запросе, где вы использовали single (') use (")

$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;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...