Select 时间戳经过一定时间后的记录 MYSQL/PHP

Select a record when the timestamp has passed by a certain amount of time MYSQL/PHP

我正在尝试 select 少于 6 小时的会话,如下所示:

"SELECT * FROM sessions WHERE members=1 AND ipRCreator != '$usn' AND tStamp < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 6 HOURS";

问题是查询条件始终为假,即使记录实际上具有几秒前的时间戳,也永远无法找到会话。

显然我非常确定问题出在以下情况:

tStamp < DATE_SUB (CURRENT_TIMESTAMP, INTERVAL 6 HOURS)


我像这样在 table 中插入数据记录:
 $timestamp = date("Y-m-d H:i:s");
 $mysqli->query("INSERT INTO sessions (sessionId, members, ipRCreator, tStamp) VALUES('$sId', 1, '$usn', '$timestamp');") ;

我认为问题出在日期的格式上,但我不这么认为,因为插入工作正常并且日期已正确插入到数据库中。

这是table的sql结构:

`sessionId` text NOT NULL,
  `members` int NOT NULL,
  `ipRCreator` text NOT NULL,
  `gender` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
  `age` int NOT NULL,
  `tStamp` timestamp NOT NULL,
  `id` int NOT NULL

问题出在哪里?为什么条件永远不成立?

示例记录:

所以在这种情况下,我正在尝试获取此记录,因为我显示的查询的时间戳不到 6 小时;问题是 return 查询为空,就好像没有时间戳小于 6 小时的记录(即使它更早也不起作用)

为了解决这个问题,我使用了这个查询:

SELECT * FROM sessions WHERE members=1 AND ipRCreator != '$usn' AND TIMEDIFF(CURRENT_TIMESTAMP, tStamp) < '06:00:00'