2013-10-28 71 views
-4
<?php include "includes/connect.php"; 
$query=mysqli_query($connect,"SELECT * FROM users WHERE 
Gender LIKE 'female' 
&& Travel LIKE 'yes' 
OR Hiking LIKE 'yes'"); 

名稱-------- -------性別--------旅遊徒步如何調整此查詢以獲得預期結果?

喬雄------------ -----------是-----------是
瑪麗----------女---------是 - ---------是
Jane ----------女---------否------------是

結果:


瑪麗

我要尋找的結果:

瑪麗

更新:我希望查詢檢查用戶是誰喜歡旅行或遠足,然後返回一個女性。
更新:已回答。謝謝大家:)

SELECT * FROM users 
WHERE Gender = 'female' 
    AND (Travel = 'yes' 
     OR Hiking = 'yes') 
+0

它應該是'Gender LIKE'%female%''或'Gender ='female'''。你想要做什麼? – Subin

+0

'&&'應該是'AND' – Quasdunk

+0

是否有理由不能說性別='女'AND旅行='是'或徒步旅行='是'? – TheDude

回答

2

嘗試這樣

SELECT * FROM users WHERE 
Gender LIKE '%female%' 
AND Travel LIKE '%yes%' 
OR Hiking LIKE '%yes%' 
2

如果你想要做的是那種你的結果,你可以做到這一點

SELECT * FROM users 
WHERE Gender = 'female' 
    AND (Travel = 'yes' OR Hiking = 'yes') 
ORDER BY name ASC 
+0

謝謝,這就是我所需要的。 – user2928884

0

在MySQL中,並已高於precedence或者,所以(除了其他人提到的錯誤)

SELECT * FROM users 
WHERE Gender = 'female' 
    AND Travel = 'yes' 
    OR Hiking = 'yes' 

SELECT * FROM users 
WHERE (Gender = 'female' 
    AND Travel = 'yes') 
    OR Hiking = 'yes' 

所以你正在尋找女性誰喜歡旅行或任何等價誰喜歡徒步旅行

如果你正在尋找女性誰喜歡旅行或女性誰喜歡徒步旅行,使用

SELECT * FROM users 
WHERE Gender = 'female' 
    AND (Travel = 'yes' 
     OR Hiking = 'yes') 
+0

謝謝,這就是我所需要的。 – user2928884