我是使用PHP和MSQL的初学者,无法正确过滤表的结果。我想给我看表中所有保持条件的字段,即我存储的日期和时间仍然有两个小时。

我使用了此查询,但效果不佳,因为如果当前月份为12,并且未显示在数据库1中,那么即使存储的时间少于2小时,甚至另一天也是如此:

 putenv('TZ=Europe/Madrid');

 $anoE = date("y");
 $mesE =  date("m");
 $diaE =  date("d");

 $horaE = date("H");
 ...

 $consulta = "SELECT tipo,nombre,descripcion,hora,minuto ,lugar,duracion,fecha,horacero,id,ano,dia,mes,equipo FROM ".$tabla." WHERE ".$anoE." <= `ano` AND ".$mesE." <= `mes` AND ".$diaE." <= `dia` AND ".$horaE." <= `(hora+2)` ORDER BY ano,mes,dia,hora,minuto";


我不知道如何为查询编写while条件,以显示超出当前时间(同一天)两小时的字段

最佳答案

如果您的字段类型是DATETIME(如果不是,请输入),您可以使用简单的查询:

SELECT *
FROM table_name
WHERE datetime_field_name BETWEEN DATE_SUB(NOW(), INTERVAL 2 HOUR) AND NOW()


它将选择now - 2 hoursnow之间的所有记录。

08-19 09:12