PHP&;MySQL正在统计时间戳不到5分钟的记录

PHP&;MySQL正在统计时间戳不到5分钟的记录,php,mysql,Php,Mysql,我的C#程序上有一个“users online”(用户在线)功能,每3分钟它就会通知服务器用户仍然在这里,当这种情况发生时,它会对我的数据库执行一个查询,用用户用户名和PHP时间戳(time();)更新它。如果用户名已经在数据库中,那么它只会更新时间戳 我想做的是计算在线用户的数量,我想通过计算最多5分钟前最后一次看到的记录的数量,然后呼出这个数字。我不知道如何才能做到这一点,因此非常感谢任何帮助 基本查询是: SELECT count(*) AS cnt FROM yourtable WHER

我的C#程序上有一个“users online”(用户在线)功能,每3分钟它就会通知服务器用户仍然在这里,当这种情况发生时,它会对我的数据库执行一个查询,用用户用户名和PHP时间戳(
time();
)更新它。如果用户名已经在数据库中,那么它只会更新时间戳


我想做的是计算在线用户的数量,我想通过计算最多5分钟前最后一次看到的记录的数量,然后呼出这个数字。我不知道如何才能做到这一点,因此非常感谢任何帮助

基本查询是:

SELECT count(*) AS cnt
FROM yourtable
WHERE timestampfield >= DATE_SUB(now() INTERVAL 5 MINUTE)

为什么要将日期和时间保存为整数,而应该将其保存为数据库中的
DATETIME
类型?谢谢,这是否适用于PHP时间戳?或者我应该像上面建议的那样更改为
DATETIME
。PHP时间戳类似于unix时间戳-自1970年1月1日起的秒数。MySQL日期字段是不同的,但是您可以从_unixtime()和unix_timestamp()在它们之间进行转换到MySQL
DATETIME
然后使用它,谢谢。看起来缺少一个逗号:
DATE\u SUB(现在()间隔5分钟)
应该读
DATE\u SUB(现在(),间隔5分钟)