gpt4 book ai didi

php - 在 codeigniter 中使用 php 和 mysql 防止重复输入

转载 作者:行者123 更新时间:2023-11-29 11:00:57 25 4
gpt4 key购买 nike

您好,我在数据库中插入跟踪号码时遇到问题。似乎在某些情况下它会生成重复的条目。我正在根据我的first_track表中的最后一个条目生成跟踪号码,并将其增加1。现在我的问题是,当用户同时点击时。它会生成相同的跟踪号码。我该如何预防?顺便说一句,这是我生成跟踪号码的代码。我还将每月第一个条目的计数返回到 0001。

<!----------Model-------->
$this->db->order_by("first_trackid", "desc");
$query = $this->db->get('first_track');
if($query->num_rows() > 0)
{
$result = $query->result();
if(date('m') != substr($result[0]->dtsno,2,2)){
$dtsno = date('ym').'0001';
}
else{
$dtsno = $result[0]->dtsno+1;
}
return $dtsno;

}
else
{
return $dtsno = date('ym').'0001';
}
<!--- END model------->
<!---controller----------->
//call the model for generating dtsno
$firsttrack->dtsno = $this->user_information_model->dtsno();
//insert to table first_entry
$this->user_information_model->first_track($firsttrack);

最佳答案

首先,为了确保您不会在数据库中获得重复的值,请确保对表first_track中保存跟踪编号的列(“first_trackid”)建立索引(将其设置为唯一)。

其次,当用户启动进程时,您可以使用基于时间戳的临时轨道序列号。

跟踪号码的实际生成应该在用户完成整个过程或者换句话说保存记录时发生。届时,生成该数字并相应地显示给用户。通过这种方式,您可以确保这些值在您的架构中永远不会重复。

问候

关于php - 在 codeigniter 中使用 php 和 mysql 防止重复输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com