0

我想显示一个不会放置已登录用户帐户的用户列表。请建议我任何想法来解决它,谢谢合作...

SQL查询放在下面:

SELECT * 
FROM users 
WHERE level = 'student' 
      AND level NOT LIKE '%{$_SESSION['SESS_name']}%' 
ORDER BY level ASC
4

2 回答 2

0

我通常只是在我的表中创建一个列调用logged,然后当他们登录时,您只需将此值设置为1,当他们注销时您设置为0

然后查看所有登录的用户,就像...

SELECT * FROM users WHERE logged = 1;

并查看未登录的用户...

 SELECT * FROM users WHERE logged = 0;
于 2013-06-28T19:24:50.983 回答
0

请注意,您有一个 sql 注入漏洞。试试这个

$stmt = $dbh->prepare('SELECT * FROM users WHERE level = "student" AND id != :userId ORDER BY level ASC');
$stmt->execute([':userId' => $_SESSION['userId']]);

这是使用 PDO http://php.net/manual/en/pdo.prepare.php

将您登录的用户 ID 存储在会话中,而不是名称

于 2013-06-28T19:27:41.297 回答