我编写了一个小代码来生成不同类型的代码,但我会让它更简单,
我在提交时提交了一份注册表单,我收集了有关用户的一些信息,并为他创建了一个随机数,但我希望这个随机数对于该用户来说是唯一的。
所以我有3个案例:
$code_random = rand(1000,9999);
if($code_random < 0){
$code_random = -$code_random;
}
$random = $fname.$code_random; //case 1
$random = $lname.$code_random; //case 2
$random = $fname.lname.$code_random; //case 3
但我想创建案例 1,在提交表单之前检查数据库中是否存在该随机数,是否使用第二种情况,如果确实使用第三种情况,并且不向用户显示任何内容。
感谢您提前提供的帮助。
最佳答案
不要重新发明轮子 - SQL 数据库有两种为每一行分配唯一 ID 的好方法。
1) 自动递增主键 - 每增加一个新行就会加一。由数据库管理,保证不会错误地对两行使用相同的值。漂亮又小又简单。 http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
2) GUID(也称为 UUID)- 用于生成 GUID 的算法意味着您永远不会两次看到相同的 GUID。与自动递增整数相比,它们的优点是不可预测,可以在数据库外部生成,并且在数据库表上下文之外也有意义。 http://www.php.net/manual/en/function.uniqid.php#94959 http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid
关于php - 插入前检查数据库中是否存在Random,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15467251/