簡體   English   中英

從表中選擇*,其中column =值^ column2 =值

[英]select * from table where column = value ^ column2= value

我正在用PHP創建登錄系統。 我需要一個用戶使用他或她的用戶名或電子郵件或電話號碼登錄,然后再輸入密碼。 因為我在Java中知道,所以我們希望email==user^ username == user在MySQL中是否適用。 我可以在MySQL中做類似的事情嗎?

Select * from user WHERE mail = 'user' ^ phoneNo= 'user' ^ username = 'user' and password = 'pass'

我嘗試過,但失敗了。 另外,我在PHP中使用多個if ,並一次檢查一次

if (mail == user){
}

查詢將是-

Select * from user WHERE (mail = 'user' or phoneNo= 'user' or username = 'user') and password = 'pass'

要么

Select * from user WHERE 'user' in (mail, phoneNo, username) and password = 'pass'

MySQL的xor完成^在Java中的功能,但是在這種情況下兩者都不正確。 您想要一個用戶名,電話號碼或電子郵件等於給定字符串的用戶。 xor表示其中只有一個可以匹配 ,而根據問題的文本,似乎您也希望擁有(例如) usernamemail等於'user' 對於此用例,簡單的or運算符應該可以解決問題:

SELECT * 
FROM   user 
WHERE  (mail = 'user' OR phoneNo = 'user' OR username = 'user') AND 
       password = 'pass'

或者,更優雅地講,您可以將in運算符用作or s系列的簡寫:

SELECT * 
FROM   user 
WHERE  'user' IN (mail, phoneNo, username) AND 
       password = 'pass'

用這個

SELECT * FROM user WHERE (mail = 'user' OR phoneNo= 'user' OR username = 'user') AND password = 'pass';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM