2014-04-20 241 views
0

我想要查詢匹配填寫用戶名的人的密碼。但是,這不起作用!出於某種原因,適用於一個帳戶的相同查詢不適用於其他帳戶。我確信我沒有在查詢或用戶名中輸入任何錯字,我確信我搜索的用戶名存在。查詢返回空即使它應該返回結果

例子:
SELECT密碼從用戶其中username =「管理員」
這讓我對管理員帳戶的密碼。
SELECT password FROM users WHERE username ='user'
這不會導致任何結果,並且沒有語法錯誤。我確定我的數據庫中有一個「用戶」。

我在做什麼錯?

+3

,你能否告訴數據庫表? –

+0

顯然沒有。在插入'user'時可能有空格或其他東西,嘗試LIKE搜索或修剪 –

+0

沒有空格。我使用了'admin'上使用的完全相同的查詢。我改變的唯一的事情是管理員到用戶。 – user3546193

回答

0

也許有用戶名「用戶」的價值有這樣的「用戶」或「用戶」 所以編輯記錄,並確保添加任何空間,或者你可以做

SELECT password FROM users WHERE username like '%user%' 

空間記錄檢查是否有記錄。

或本

SELECT password FROM users where trim(username)='user' 
+0

這個查詢很有用,它給了我正確的密碼,但是當有更多的用戶使用用戶名時,這個方法會起作用嗎 – user3546193

+0

@ user3546193:I建議你'SELECT HEX(username)FROM users WHERE username LIKE'%user%''to understand what'value'username' really really contains,because it's not''user''。 – eggyal

+0

此查詢返回:2075736572.我不是確定該怎麼處理 – user3546193