我有一项服务,当会话“准备好”时显示特定按钮,即提前 15 分钟并通过会话。
我这样做是通过提取所有最近请求的会话,分析它们的时间戳,然后在该会话即将到来时提取一个特定的 ID。这是代码:
$session_check_query = "SELECT * FROM requested_sessions WHERE username_t = '{$_SESSION['username']}'";
$session_check_process = mysql_query($session_check_query);
date_default_timezone_set($_SESSION['timezone']);
$current_time = time();
while ($sessions = mysql_fetch_array($session_check_process)) {
if ($sessions['time_from_t'] - $current_time <= 900 && $current_time - $sessions['time_from_t'] > 0 && $sessions['accepted'] == 1) {
$session_id = $sessions['id'];
}
}
问题是,当我在循环中回显 $session_id 时,它将输出 1、2、3、4。这意味着感觉我在数据库中的所有会话都符合这个标准,而不仅仅是一个。
这段代码有问题吗?time_from_t 是 UNIX 格式。