php - 表单提交时处理 session

标签 php mysql

我有一个网络应用程序,用户填写表单并生成一个唯一的 ID,例如“SC001001”。生成代码是

$result = mysqli_query($con,"SELECT OA_NO FROM student where CUSTID='SC001'");
$x=0;
$num_rows = $result->num_rows;
if($num_rows==0){
    $var1="SC001001";
}
else{

while($row = mysqli_fetch_array($result))
  {
 $next[$x]=substr($row['OA_NO'],2);
 $x=$x+1;
  }

$arrlength=count($next);
$inc=max($next)+1;
$newvar= "SC00".$inc;
$var1=$newvar;
}

将其保存在数据库中时,OA_NO 是主键。

但是当两个用户同时按下提交按钮时,我收到错误消息#1062。存在重复条目并且插入第一个请求的条目...

我的问题是我该如何输入这两个值并增加第二个值..请帮忙!!

最佳答案

如果在插入时找到最大值,则该值应始终是唯一的。我添加了 LPAD 函数,以防您希望保持 userID 的长度一致:

INSERT INTO students (`OA_NO`, `userID`)
SELECT MAX(OA_NO) + 1, CONCAT('SC00', LPAD(MAX(OA_NO) + 1, 4,'0'))
FROM students
ON DUPLICATE KEY UPDATE 
    `OA_NO`  = VALUES(OA_NO) + 1, 
    `userID` = CONCAT('SC00', LPAD(VALUES(OA_NO) + 1, 4,'0'));

关于php - 表单提交时处理 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24082271/

相关文章:

php - 合并两个查询并将返回添加到数组

php - 亚马逊 MWS Scratchpad API

php - 从存储到变量的查询中获取日期的问题

php - 对少量数据使用一个或两个数据库

PHP数据库连接

php - 如何使用php进行多个关键字搜索

php - jquery 切换不适用于移动设备

mysql - 根据同一记录的其他字段中的值更新记录的字段

mysql - 在 MySQL 中创建新用户并授予其对一个数据库的完全访问权限

javascript - 如何以图表的形式展示系统生成的结果