PHP如果数据库中存在随机码重新生成随机码

PHP if random code exists in database regenerate random code

我正在尝试创建一个 PHP 脚本,该脚本将创建一个随机代码并对照数据库检查它是否存在。我希望它检查它是否存在然后生成另一个 createRandomCode() 并检查它。

不确定如何继续循环直到行数为 0。

function createRandomCode($length='6'){ 
    $chars = "abcdefghijkmnopqrstuvwxyz023456789"; 
    srand((double)microtime()*1000000); 
    $i = 0; 
    $code= ''; 
    while ($i++ < $length){ 
        $code = $code. substr($chars, rand() % 33, 1);  
    } 
    return $code; 
}

$shorturl = createRandomCode();

$q = $db - > query("SELECT * FROM maps WHERE url='".$shorturl.
    "'");
if (mysqli_num_rows($q) > 0) {

    $arr = json_encode($arr);
    echo $arr;
}

听起来很适合 do...while loop:

do {
    $shorturl = createRandomCode();
    $q = $db->query("SELECT * FROM maps WHERE url='".$shorturl."'");
} while(mysqli_num_rows($q) > 0);
function regenerateCode(){

    global $connection;

    do{

        $serial2 = rand(0,7);

        $check_code = "SELECT * FROM `voters` WHERE `serial` = '$serial2'";

        $run_check_code = mysqli_query($connection,$check_code);

        $count = mysqli_num_rows($run_check_code);

    } while( $count > 0 );

    return $serial2;
}