у меня есть запрос который должен по истечению минуты только выполнять 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 секунд.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! хочу что бы при каждом поподении в бд создавалась новая стока для файла, помогите второй день мучаюсь
Объясните в чем преимущества Angular перед jQuery, если такие естьВ каких случаях целесообразней использовать ангулар?