2012-11-01 50 views
-1

此查詢不適用於我。我犯了什麼錯誤。請幫助與多個AND運算符的MySQL查詢

$sql="SELECT * FROM $tbl_name WHERE (username='$myusername' and (password='$mypassword' and password='$encrypted_mypassword'))"; 
+0

怎麼不起作用? –

回答

1

未經檢驗的,但這應該工作,

$sql="SELECT * FROM $tbl_name WHERE 
Username = '$myusername' AND 
Password = '$mypassword' AND 
Password = '$encrypted_mypassword'"; 

對於你在做什麼括號不是必需的,而且你也嘗試比較單場可能2個不同的值。

+0

我嘗試過,但它不工作 – BSO

+0

試試這個, $ SQL = 「SELECT * FROM $ tbl_name WHERE 用戶名=「」。$名爲myUsername。 「 'AND 密碼='」。$輸入mypassword。「」 AND 密碼='「。$ encrypted_mypassword。」'「; 此外,請確保您的所有表名稱和列都是正確的,您是否收到錯誤?或者只是沒有結果? –

+0

當我使用沒有加密密碼的用戶名和密碼時,我得到正確的值。當我包含加密的密碼時,我沒有收到它。 – BSO

2

我假設你接受了簡單的密碼和加密的密碼。試試這個...

SELECT * FROM $tbl_name WHERE username='$myusername' AND 
(password='$mypassword' OR password='$encrypted_mypassword') 

如果只有加密的密碼,試試這個...

SELECT * FROM $tbl_name WHERE username='$myusername' AND 
password='$encrypted_mypassword' 
+0

我試過了但它不起作用 – BSO

+0

@BSO - 它怎麼不工作? –