我想查詢數據庫取決於用戶的搜索條件,其中一個標準是註冊性別:男性或女性。Php:與CASE和多選擇sql查詢
但是,用戶可以發送作爲條件male
female
或anything
。我試圖在用戶發送anything
時選擇所有行,但我得到空結果。
下面是我的一些實驗中,他們都不似乎工作,但它的male
female
$query = "SELECT *
FROM UsersInfo
WHERE gender = CASE '$et_gender'
WHEN 'male' THEN 'male'
WHEN 'female' THEN 'female'
WHEN 'anything' THEN 'female' AND 'male'
END";
$query = "SELECT *
FROM UsersInfo
WHERE gender = CASE '$et_gender'
WHEN 'male' THEN 'male'
WHEN 'female' THEN 'female'
WHEN 'anything' THEN SELECT * FROM UsersInfo
END";
$query = "SELECT *
FROM UsersInfo
WHERE gender = CASE '$et_gender'
WHEN 'male' THEN 'male'
WHEN 'female' THEN 'female'
WHEN 'anything' THEN *
END";
在WHERE子句中使用AND/OR來代替case表達式通常要好得多。 – jarlh
@jarlh謝謝...我不是很熟練的sql ...所以CASE聽起來像我所需要的...但是,也許你是對的 – codeKiller
嘗試打印你的查詢到屏幕上,看看它的樣子。 –