我如何知道MYSQL Statment中哪个字段不匹配

时间:2016-03-29 12:16:08

标签: javascript jquery mysql sql

我有一个MYSQL语句的问题,我只想检查一个表中的两个字段是否匹配以下查询工作正常但我只是想知道这些字段中的一个是否未能匹配。我是否知道哪个领域不匹配?  这是我的疑问:

SELECT *
FROM `all_users`
WHERE `UserName`= 'Johne' AND
      `UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef'

1 个答案:

答案 0 :(得分:1)

OR子句中需要AND而不是WHERE才能包含只匹配其中一列的行。

SELECT *, (`UserName`= 'Johne') AS UsernameMatch,
(`UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef') AS UserPasswordMatch
FROM `all_users`
WHERE `UserName`= 'Johne' OR `UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef';

请注意您使用结果的方式,因为您不希望人们猜测其他用户具有给定的密码。

相反,您可以使用:

SELECT *, (`UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef') AS UserPasswordMatch
FROM `all_users`
WHERE `UserName`= 'Johne';

检查实际用户名的密码是否正确。