PHP PDO类执行while
您好,我正在使用PHPPDO类,我正在尝试编写一个DoWhile循环。我从未测试过它是否有效,因为我不想弄乱我的数据库。我想做的是生成一个数字,如果这个数字存在,我想让它生成另一个数字。这是我现在使用PDO类的代码:PHP PDO类执行while,php,mysql,pdo,while-loop,Php,Mysql,Pdo,While Loop,您好,我正在使用PHPPDO类,我正在尝试编写一个DoWhile循环。我从未测试过它是否有效,因为我不想弄乱我的数据库。我想做的是生成一个数字,如果这个数字存在,我想让它生成另一个数字。这是我现在使用PDO类的代码: $db = new db(); do { $generate_SID = mt_rand(100000, 999999); $bindCheck = array( ":sponsorID" => $generate_SI
$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
检查声明了另一个变量,然后在循环中设置了另一个变量。我建议设置一个测试数据库。在产品中运行之前,您需要能够测试/修改代码。在循环中执行SQL几乎总是一个坏主意。你确定没有循环就做不到吗?@SverriM.Olsen没有循环我能做什么?