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

我正在 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();

}

?> 


波斯汪
浏览 104回答 1
1回答

GCT1015

最好是// 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
打开App,查看更多内容
随时随地看视频慕课网APP