我遇到可能重复订单ID的问题,如果同时提交。 我可以知道如何彻底解决这个问题或避免它发生吗?
以下是我的代码,显示我如何获取订单ID并将其发送到数据库
<?php
$sqlt = "SELECT ORD_ID FROM tpointgroup WHERE Group_ID = '$tid'";
$order = mysqli_query($conn , $sqlt);
$rowcount = mysqli_num_rows($order);
if ($rowcount == 0)
echo "No records found";
else
{
$rowt = mysqli_fetch_assoc($order);
}
$ordid = $rowt["ORD_ID"] + 1;
?>
$ORD_ID = date('ym').str_pad($tkid, 6, '0', STR_PAD_LEFT);
$insert = "insert into cusinfo (ORD_ID) values ('$ORD_ID')";
$insert3 = "UPDATE tpointgroup SET
ORD_ID = '$ordid'
WHERE Group_ID = $tid ";
我从tpointgroup表中获取订单ID,因为我想知道当前的订单ID是什么,并为其添加1.当用户点击提交时,订单ID将分配给客户并更新当前订单ID orderID到表tpointgroup。
但是我的系统出现了重复订单ID的问题,如果两个或多个用户同时提交,则客户的订单ID将相同。
答案 0 :(得分:1)
尝试以下操作以生成唯一的订单ID。
$order_id = time() . mt_rand() . $tid;