2014-04-20 192 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