您好,我正在使用thisPHP 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
检查声明了另一个变量,然后在循环中设置了另一个变量。关于php - PHP的PDO类做而,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31762681/