2016-03-29 73 views
0

我有一個與MYSQL語句問題,我只想檢查一個表中的兩個字段是否匹配下面的查詢工作正常,但我只是想知道,如果其中之一這些領域未能匹配,我怎樣才能知道哪個領域不匹配? 這裏是我的查詢:我怎麼知道哪個字段不匹配在MYSQL數據

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

如果有任何人在那裏尋求幫助 – Rimaz

+0

我如何在codeigniter中使用此語句? SELECT *,(UserPassword = $ pass)AS UserPasswordMatch FROM all_users WHERE UserName = $用戶名 – Rimaz

回答

1

你需要OR,不ANDWHERE子句中包括其中只有一列匹配的行。

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'; 

檢查實際的用戶名的密碼是否正確。

+0

完美Kilgore先生感謝您的幫助..第二個選項是我所需要的,再次感謝編碼。乾杯 – Rimaz

相關問題