使用MySQL Datetime在PHP中比较时间
我在mysql数据库中存储了活动日志,每个日志都有一个注册的日期时间。我正在尝试编写一个简短的php脚本来删除所有超过60天的日志。我很难用datetime格式比较时间 以下是我所拥有的:使用MySQL Datetime在PHP中比较时间,php,mysql,datetime,Php,Mysql,Datetime,我在mysql数据库中存储了活动日志,每个日志都有一个注册的日期时间。我正在尝试编写一个简短的php脚本来删除所有超过60天的日志。我很难用datetime格式比较时间 以下是我所拥有的: $sixty_days_past = strtotime("-60 days"); $earliest_time = date("Y-m-d H:i:s", $sixty_days_past); $logs_result = mysql_query("SELECT id FROM df_logs WHER
$sixty_days_past = strtotime("-60 days");
$earliest_time = date("Y-m-d H:i:s", $sixty_days_past);
$logs_result = mysql_query("SELECT id FROM df_logs WHERE date < '$earliest_time'");
while($logs_row = mysql_fetch_array($logs_result)) {
$oldentry = $logs_row['id'];
mysql_query("DELETE FROM df_logs WHERE id='$oldentry'");
}
过去六十天=标准时间(“-60天”);
$最早时间=日期(“Y-m-d H:i:s”,过去的$六十天);
$logs\u result=mysql\u查询(“从日期<'$earlime\u time'的df\u日志中选择id”);
而($logs\u row=mysql\u fetch\u数组($logs\u result)){
$oldentry=$logs_行['id'];
mysql_查询(“从df_日志中删除,其中id=“$oldentry”);
}
此查询有什么问题?所有内容
DELETE FROM `df_logs` WHERE `date` < DATE_ADD(NOW(),INTERVAL -60 DAY)
DELETE FROM`df_logs`WHERE`date`
完成了
详细说明:
- 当MySQL完全能够进行正确的计算时,您正在学习PHP
- 您没有在反勾号中包含字段名,这是一个问题,因为
是一个关键字date
- 您一次删除一行,这可能会导致大量查询未绑定,而不是一次删除所有行(例如使用中的
列出要删除的ID)