2013-06-28 26 views
0

我想显示一个用户列表,其中登录的用户帐户不会放置。请建议我的任何想法解决它,谢谢大家配合......想要显示用户列表,除了特定的一个

SQL查询放在下面:

​​
+0

您的代码被严重逃脱。这不起作用。 SQL期望所请求的会话变量包含一个级别,但该参数导致认为它拥有一个名称。 – mbanzon

+0

你应该发布一些样本数据。这将有很大的帮助 – sailingthoms

+0

什么是“水平”?您的查询仅在查询字符串中包含一个参数:'level'。它是用户级别还是用户名?所以,'$ _SESSION ['SESS_name']'包含什么? – sailingthoms

回答

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在会话的不是名称

0

我通常只需要创建一个列在我的表卡列斯logged,然后当他们登录,您只需将此值设置为1,并在注销时将其设置为0

然后查看所有记录用户的那样简单......

SELECT * FROM users WHERE logged = 1; 

而且在用户查看未记录......

SELECT * FROM users WHERE logged = 0; 
+0

如果它只应该是从列表中排除的当前使用,而不是当前登录的所有用户,那么Thas将无法工作。 – mbanzon

+0

然后,他不应该只用WHERE用户名!= $ _SESSION ['username']或类似的名称?我刚刚离开他的语法,他说.....用户列表在哪里登录用户不会被放置....多数民众赞成在多数.... – KyleK

+0

你是完全正确的 - 我错过了原来的帖子。 – mbanzon

相关问题