我正在尝试创建一个函数,该函数在运行时创建数字 ID,检查该 ID 是否存在于数据库中,如果存在,则创建另一个 ID 并再次检查,直到它具有唯一 ID。我一直在研究如何使用函数循环函数
function createUniqueID() {
function buildUnique() {
$uniqueID = rand(100000000000,999999999999);
return $uniqueID;
}
function compareWithDB($uniqueID) {
$s = "SELECT id FROM table WHERE id='{$uniqueID}'";
$r = mysql_query($s);
return $r;
}
function countDBRows($r) {
if(mysql_num_rows($r) >0){
$f = false; // found
} else{
$f = true;
}
}
$uniqueID = buildUnique();
$r = compareWithDB($uniqueID);
$f = countDBRows($r);
if (!$f) {
$uniqueID = 'nope';
}
return $uniqueID;
}
最佳答案
你最好调用 MySQL 的 UUID()
函数,并存储并返回它的值,除非该值绝对必须是数字。
SELECT UUID();
关于php - 寻求帮助创建唯一 ID 并确保它不存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8777805/