PHP PDO Class do while



你好,所以我正在使用这个PHP PDO类,我正试图编写一个do while循环。我从来没有测试过它是否会工作,因为我不想弄乱我的数据库。我要做的是生成一个数,如果这个数存在,我要它生成另一个数。这是我现在使用PDO类的代码:

$db = new db();
do {
        $generate_SID = mt_rand(100000, 999999);
        $bindCheck = array(
            ":sponsorID" => $generate_SID
        );
        $sponsorIDChecker = $db->select("accounts", "sponsorID = :sponsorID", $bindCheck);
    }while(count($sponsorIDChecker) > 0);

可以看到,变量$generate_SID将生成一个数字,它下面的代码将检查该数字是否存在于数据库中。

这能行吗?或者我应该在循环之外放置一些东西?谢谢你。

所以我删除了循环中的SQL,因为正如有些人所说,这是一个坏主意。我的代码现在看起来像这样:

$sponsorIDrandom = mt_rand(100000, 999999);
        $bindCheck = array(
            ":sponsorID" => $sponsorIDrandom
        );
    $sponsorIDChecker = $db->select("accounts", "sponsorID = :sponsorID", $bindCheck);
    do {
        $generate_SID = mt_rand(100000, 999999);
    }while(count($sponsorIDChecker) > 0);

我声明了另一个变量用于sponsorID检查,然后在循环中设置了另一个变量

最新更新