当我尝试将两条记录插入 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';
}
最佳答案
PHP 代码读起来就像如果它在第一个表上执行两次插入,它将在第二个表上执行两次更新。这让我怀疑其中一个 UPDATES 正在悄无声息地失败,我刚刚发现这是 mysqli 的默认行为。您需要收集更多信息。您可以首先显示/发布到错误日志 $res1
的值,mysqli_query()
在失败时返回 FALSE。您可能会发现this article信息丰富/有用。
关于javascript - 当我尝试插入两条记录时,CUR_STOCK 表中只有一条记录得到更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665595/