如何避免重复订单ID

时间:2017-05-02 06:19:41

标签: php mysql redundancy

我遇到可能重复订单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将相同。

1 个答案:

答案 0 :(得分:1)

尝试以下操作以生成唯一的订单ID。

$order_id = time() . mt_rand() . $tid;