<分区>
Possible Duplicate:
Algorithm for generating a random number
您好,我需要为数据库中的某些条目分配一个随机生成的数字,并且它必须是唯一的。 我使用:
$random_number = mt_rand();
mysqli_query($db_connection, "INSERT INTO my_table (rand_num, blabla) VALUES ('$random_number', '$blabla')");
但当然,2 个随机数相同的可能性总是很小。 然后我可以做类似的事情:
function random_check($random_number) {
require_once('db_access.php');
$random_check = mysqli_query($db_connection, "SELECT rand_num FROM my_table");
mysqli_close($db_connection);
$result = 1;
while($row = mysqli_fetch_array($random_check)){
if ($row['rand_num'] == $random_number) {
$result=0
}
}
return $result;
};
$random_number = mt_rand();
$random_check = random_check($random_number);
if ($random_check == 0) {
$random_number = mt_rand();
}
但这只会检查一次号码,并且新生成的号码仍然有可能已经存在于数据库中。
有什么建议吗? 谢谢