我正在 PHP MYSQL 中创建用户状态更新脚本。我已在 24 秒内将 strtotime 更新添加到状态列。但我的脚本没有离线更新我想添加 NOW() 日期时间来更新离线状态列。这是我的源代码<?php$time=date("Y-m-d H:i:s",strtotime('-24 seconds', time()));if($stmt = $con->prepare( "UPDATE users SET status = 'offline' WHERE time='".$time."' NOW()")){$stmt->execute();}?>
1 回答
GCT1015
TA贡献1827条经验 获得超4个赞
最好是
// set offline flag on all inactive users
"UPDATE users SET status='offline' WHERE time < NOW() - INTERVAL 24 SECOND;"
// then flag current user as active
"UPDATE users SET status='online', time=NOW() WHERE id=321;"
然后你可以得到在线用户列表
"SELECT * FROM users WHERE status='online';"
or
"SELECT * FROM users WHERE time > NOW() - INTERVAL 24 SECOND;"
最好将用户状态存储在指定的表中,状态表也
使用memory数据库引擎,
也使用整数而不是字符串;0 ='offline' , 1 ='online'
也timestamp用作整数而不是datetime
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消