我的 MYSQL 语句有问题,我只想检查一个表中的两个字段是否都与下面的查询匹配,但我只想知道其中一个字段是否无法匹配。我如何知道哪个字段不匹配? 这是我的查询:
SELECT *
FROM `all_users`
WHERE `UserName`= 'Johne' AND
`UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef'
最佳答案
您需要在 WHERE
子句中使用 OR
,而不是 AND
来包含仅匹配一列的行。
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';
检查实际用户名密码是否正确。
关于javascript - 如何知道MYSQL语句中哪个字段不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36284016/