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