在php中生成唯一的注册码

时间:2014-04-27 11:31:57

标签: php mysql auto-increment unique-key

你好,我需要你的帮助

我创建了一个将数据存储到mysql数据库中的表单,现在一切都很好。

我需要为每个成员填写代码填写此代码我需要它的形式(SUD001)我希望它是唯一的并且自动增加一个我的意思是第一个填写表格获取代码(SUD001) )第二个获得(SUD002)线程(SUD003),依此类推。

我需要的是一种方法,然后将该代码插入到mysql数据库中,我将它插入数据库时​​没有问题,但我需要一个函数或生成它的方法。

我现在发现的方式就是那样做

<?php

$id_num = "SUD";
  for ($i = 0; $i < 4; $i++) {
  $id_num .= rand (0, 5);
  }
  echo $id_num;
  ?>

但是这会产生随机数,而且我不确定它是否是唯一的或者没有任何一个

可以帮助我

2 个答案:

答案 0 :(得分:0)

你可以做到

 $id = uniqid('SUD');

答案 1 :(得分:0)

这里的诀窍是recursion

步骤:

  • 在指定的MySQL表中创建一个具有UNIQUE约束的字段。
  • 编写一个函数&#39; generateCode&#39;生成一个(足够长的)代码。 *
  • 编写一个获取该代码的函数,然后尝试将其输入数据库。
  • 获取最终的唯一约束违规行为,并从第2步开始重复此过程直至成功。

*)请务必使用足够长的代码来支持您未来几年的申请。 6位数字或字母和数字的组合很可能就足够了。