Обратите внимание, что я не знаю PHP, поэтому я не могу предоставить рабочий код.Однако я постараюсь помочь.
Во-первых, ваш вопрос неоднозначен.Вы имеете в виду, что хотите удалять все записи из таблицы каждый день, когда это 23:59 ч, или вы хотите удалить каждую запись, отметка времени которой составляет 23:59 ч?
Если вы хотите очищать таблицу каждый день, когда наступает 23:59, то работа a cron
была бы правильной (как уже предлагают некоторые комментарии).
Работа cron
могла быиспользоваться в системах Linux / Unix;альтернативой этому будет at
.В Windows вы можете использовать планировщик задач для регулярного выполнения задания.
В любом случае, имейте в виду, что на самом деле вы не можете предсказать, сколько времени займет операция.Возможно, он все еще будет работать, когда уже будет 00:00 или даже 00:01 на следующий день, что в конечном итоге приведет к неприятностям.
Если вы хотите удалить все строки, чьи отметка времени или date
в столбце 23:59 ч., в вашем коде есть некоторые проблемы:
Ваше where
утверждение неверно.Вы сравниваете нормальную переменную с константой здесь.Я понятия не имею, что делают PHP / MySQL в таких случаях, но это, конечно, не то, что вы ожидаете.Если вы хотите сравнить, например, столбец date
с этой константой, вам нужно сделать это следующим образом: ... where('date', '23:59')
.
Почти наверняка ваш столбец или отметка времени 1034 делаетне содержать дату / время в необходимом формате.Следовательно, если вы хотите сравнить hour:minute
с вашим столбцом date
или отметкой времени, вам сначала нужно извлечь из него часы и минуты и объединить их с необходимым форматом (или, возможно, MySQL уже предоставляет соответствующую функцию для этого), а затем сравните результат с вашей строковой константой.