为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 php mysql 中离线更新用户状态

如何在 php mysql 中离线更新用户状态

PHP
波斯汪 2022-07-09 18:08:35
我正在 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


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信