你好,所以我正在使用这个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
检查,然后在循环中设置了另一个变量