когда я пытаюсь вставить две записи, в таблице CUR_STOCK обновляется только одна запись? - PullRequest
0 голосов
/ 07 декабря 2018

Когда я попытался вставить две записи в таблицу REGULAR_SUPPY_DET, я могу вставить их, но в то же время они должны быть обновлены в таблице CUR_STOCK, но в CUR_STOCK обновляется только одна запись.

elseif ($_POST['action_type'] == 'add')
            {include 'dbconfig.php';
                $item_type=$_POST['item_type'];
                $exist_qty=$_POST['exist_qty'];
                $sup_qty=$_POST['sup_qty'];
                $sup_date=$_POST['sup_date'];
                $sql1="INSERT INTO REGULAR_SUPPLY_HDR(REQ_DATE) VALUES('$sup_date')";
                $res1=mysqli_query($conn,$sql1);
                $result=mysqli_query($conn,"SELECT MAX(REG_SUPPLY_REQ_ID) AS id  FROM REGULAR_SUPPLY_HDR");
                    $res=mysqli_fetch_assoc($result);
                       $sd=$res['id'];


                $i=0;
                foreach($item_type as $s_id)
                {
    $sql = "INSERT INTO REGULAR_SUPPLY_DET(REG_SUPPLY_REQ_ID,ITEM_ID, EXIST_ITEM_QUANTITY, SUPPLIED_QUANTITY, SUPPLIED_DATE) VALUES('$sd','$s_id', '".$exist_qty[$i]."', '".$sup_qty[$i]."', '$sup_date')";
                $insert = mysqli_query($conn,$sql);

                $sql2="UPDATE CUR_STOCK SET QTY= QTY-$sup_qty[$i] WHERE ITEM_ID='$s_id'";
                $res1=mysqli_query($conn,$sql2);
                $i++;
                }
                     echo 'ok';
            }

1 Ответ

0 голосов
/ 07 декабря 2018

Код php читает , как будто он выполнит два обновления для второй таблицы, если он выполнит две вставки в первую таблицу.Это заставляет меня подозревать, что один из UPDATES молча терпит неудачу, и я только что обнаружил, что это поведение по умолчанию mysqli.Вам нужно собрать больше информации.Вы можете начать с отображения / публикации в errorlog значения $res1, mysqli_query() возвращает FALSE при ошибке.Вы можете найти эту статью информативной / полезной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...