使用MySQL Datetime在PHP中比较时间

使用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

我在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 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)