I always have trouble with complicated SQL queries.
This is what I have
$query = \' SELECT id, name,
WHERE date_time = DATE_SUB(NOW(), INTERVAL 1 HOUR)
means date_time equals exactly now minus one hour, which would result in any record exactly one hour old.
Why not use
WHERE TIMEDIFF(date_time, NOW()) < '01:00:00' AND date_time > NOW()