2013-06-28 62 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

相關問題