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

10-11 03:23