تالار گفتمان nCIS.ir

نسخه‌ی کامل: چک کردن یک رشته تصادفی در دیتابیس
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من یک رشته دارم که تصادفی تولید میشه و حالا میخوام برای اینکه 100% مطمئن بشم منحصر به فرده میخوام توی دیتابیسم چکش کنم که اگر کد وجود داشت یک کد جدید تولید کنه.
ممنون میشم کمکم کنید
من خودم کد زیر رو نوشتم اما مشکی که داره اینکه درصورتی که کد وجود داشته باشه یک بار کد جدید میسازه و اگر کد جدید هم وجود داشته باشه هیچ کاری انجام نمیده.



for($i = 0;$i < 10; $i++) {
   $number = randomCodeFunction();
   $select = $db_connection->prepare("SELECT `***` FROM `***` WHERE `***` = :*** LIMIT 1");
   $select->execute(array(':***' => $number));
   if($select->rowCount() > 0) {
       $create = $this->db->prepare("INSERT INTO `***` (***) 
                                             VALUES (:***)");
       $create->bindparam(":***", $number);
       $create->execute();
   } else {
       $new_number = randomCodeFunction();
       $create = $this->db->prepare("INSERT INTO `***` (***) 
                                             VALUES (:***)");
       $create->bindparam(":***", $new_number);
       $create->execute();
   }
}
این کد رو تست کنید:
do {
   $number = randomCodeFunction();
   $select = $db_connection->prepare("SELECT `***` FROM `***` WHERE `***` = :*** LIMIT 1");
   $select->execute(array(':***' => $number));
} while($select->rowCount() > 0);
$create = $this->db->prepare("INSERT INTO `***` (***) 
$create->bindparam(":***", $number);
$create->execute();