у меня есть запрос который должен по истечению минуты только выполнять update а оно сразу выполняет игнорируя time
$this->db->query("
update colban
set `go` = `go` -1
where id = '".(int)$this->url[450]."'
< ".( time()-60*1 ));
}
Как уже многие сказали, тебе это не нужно.
Причина этого вопроса - в непонимании элементарных основ баз данных.
То есть в данном случае мы не определенное значение записываем в БД в нужное время, а записываем желаемое время изменения значения.
А все читающие скрипты будут считывать это время и сравнивать с текущим. Если больше - то значение изменилось. Очень просто, и не требует никаких костылей из других ответов. Так работают базы данных во всем мире.
Например:
sleep(60)curl (с обрывом сессии) вызывать скрипт, который будет выполнять update через минутуeventsВариант 1 - используйте функцию mysql SLEEP(), команда DO SLEEP(60);
Пример запроса mysql:
DO SLEEP(60);
UPDATE ...
можно использовать SELECT SLEEP(60), но в данном случае нужно учитывать, что на выходе всегда будет 0 или 1.
Вариант 2 - используйте функцию php sleep().
Пример:
SLEEP(60);
$this->db->query("...");
Оба варианта откладывают выполнение на N секунд.
Данные функции не стоит использовать если Вы выполняете следующий запрос только после получения результатов выполнения предыдущего, т.к., например, последовательный вызов 2-х запросов приведет к простою 2*N секунд.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости