В базе данных в таблице 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"] там не передается.
Спасибо!