PHP Генерация промокодов и проверка в бд

function checkPromo($promo) {
  global $db;
  $result = $db->query("SELECT * FROM `coupons` WHERE `coupon` = $promo");
  if ($result->num_rows > 0) {
    return 1;
  } else {
    return 0;
  }
}
$promo = newPromo(); // Возвращает набор случайных символов
$checkPromo = check($promo);

while(!chekPromo) {
  $promo = newPromo(); // Возвращает набор случайных символов
  $checkPromo = check($promo);
}
if ($checkPromo) {
  $db->query("..."); //Добавляю новую запись в бд
}

Такой код подойдет для проверки промокода в бд?


Ответы (1 шт):

Автор решения: Вадим Александру

Не стоит использовать запрос к базе в цикле. Оптимальнее уже будет одним запросом получить все промокоды, и потом уже выполнять вашу логику.

→ Ссылка