我正在尝试创建一个函数,该函数在运行时会创建数字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/