PHP中的MySQL日期比较

PHP中的MySQL日期比较,php,mysql,datetime,Php,Mysql,Datetime,我非常感谢你的帮助 我有一个mysql数据库,它包含一个Datetime字段。在这个领域,我有一个特定的日期和时间, 例如: 2013-10-03 22:28 然后我有一个PHP脚本,它从$\u GET命令中获取特定的日期和时间,分别为:年、月、日、小时、分钟 根据这一点,我创建了一个日期,如下所示: $datum = $year."-".$month."-".$day." ".$hour.":".$minute.":".$seconds; $date = date('Y-m-d H:i',s

我非常感谢你的帮助

我有一个mysql数据库,它包含一个Datetime字段。在这个领域,我有一个特定的日期和时间, 例如:

2013-10-03 22:28
然后我有一个PHP脚本,它从
$\u GET
命令中获取特定的日期和时间,分别为:年、月、日、小时、分钟

根据这一点,我创建了一个日期,如下所示:

$datum = $year."-".$month."-".$day." ".$hour.":".$minute.":".$seconds;
$date = date('Y-m-d H:i',strtotime($datum));

我现在需要做的是以某种方式将我创建的这个新日期与数据库中的最后一个日期值(最近的)进行比较。关键是,在比较之后,我想检查数据库中的最后一个值是否大于5分钟,然后才执行特定操作(插入新行),如果数据库中的最后一个日期大于5分钟,则不执行任何操作。

使用“从tblname中选择最大值(日期时间\u字段)”要获取Datetime字段的最新值,可以使用如下SQL:

$now = new DateTime();
$dateFromDB = new DateTime($someValueFromYourDataBase);

// subtract 5 minutes from now and compare with the stored timestamp
if ($now->sub(new DateInterval('PT5i') > $dateFromDB) {
    // database timestamp is older - do something
}
select count(*) from `table` where `datefield` >= '$date'
$date的计算方法如下

 $date = date('Y-m-d H:i', strtotime($datum) - 5*60);
5*60-这是5分钟

出于性能原因,我建议您将索引添加到
datefield
,并更改如下选择:

select `datefield` from `table` where `datefield` >= '$date' limit 1

WHERE
+
DATE\u SUB
+
比较是在DB端还是PHP端进行的?您使用的是哪个版本的PHP?