Задать вопрос
@9StarRu

Как ускорить проверку пин кода на существование и срок действия по дате?

В базе данных в таблице pin_code храню пин коды, дату создания и дату завершения действия пин кода.

MySQL

mysql> SELECT * FROM pin_code;
+----------+----------------+---------------------+----------------+
| id       | code           | create_date         | destroy_date   |
+----------+----------------+---------------------+----------------+
|        1 | 6194027126     | 1605500754          | 1607500754     |
|        2 | 5807462325     | 1607808551          | 1609508551     |
+----------+----------------+---------------------+----------------+


CREATE TABLE IF NOT EXISTS `pin_code` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(255) NOT NULL DEFAULT '',
  `create_date` int(11) unsigned NOT NULL DEFAULT '0',
  `destroy_date` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Проверку выполняю так:

$results = $mysqli->query("SELECT code, (destroy_date > unix_timestamp(now())) `status` FROM pin_code WHERE code=5807462325");  // destroy_date - дата завершения срока действия пин кода должна быть больше текущей

print '<table border="1">';

/* извлечение ассоциативного массива */
if($row = $results->fetch_assoc()) {

   if($row["status"] == 1){
      print '<tr>';
      print '<td>'.$row["code"].'</td>';
      print '<td>'.$row["status"].'</td>';
      print '<td>Пин код действителен</td>';
      print '</tr>';
   }else{
      print '<tr>';
      print '<td>'.$row["code"].'</td>';
      print '<td>'.$row["status"].'</td>';
      print '<td>Пин код просрочен</td>';
      print '</tr>';
   }

}else{
    print '<tr>';
    print '<td>'.$row["code"].'</td>';
    print '<td>Нет такого пин кода</td>';
    print '</tr>';
}

print '</table>';


Скрипт работает но выполняется долго 225 мс, обычные сайты целиком грузятся быстрее.

Как ускорить и/или исправить работу скрипта?
Как вывести номер пин кода при выводе информации "Нет такого пин кода", сейчас $row["code"] там не передается.

Спасибо!
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽