網上查了很多還是沒查到我要的 , 下面查一個可以執行
$sql_query = "SELECT * FROM user WHERE address LIKE '%ABC%' AND address1 LIKE '%ABC%'";
但我要查多個 , 查到最後只想到下面這樣但還是不行
$sql_query = "SELECT * FROM user WHERE address LIKE ('%ABC%','%DEF%','%GHI%') AND address1 LIKE ('%ABC%','%DEF%','%GHI%')";
SELECT * FROM user WHERE address LIKE ('%ABC%','%DEF%','%GHI%')
可以改為
SELECT * FROM user WHERE address LIKE '%ABC%'
UNION
SELECT * FROM user WHERE address LIKE '%DEF%'
UNION
SELECT * FROM user WHERE address LIKE '%GHI%'
再去篩 address1
的條件
不建議教他,這傢伙只是來釣code的。
我是來請教方向與方法 , 知道方向方法比較重要 , 以後都用得上 , 只是要到了 code , 下次 code 又不一樣 , 那我不是也沒學到 , 難不成幾千條 code 都一個一個問
釣了Code也是沒有用...
PCW 請問是這樣嗎 ? 但不行
"SELECT * FROM user WHERE address LIKE '%ABC%'
UNION
SELECT * FROM user WHERE address LIKE '%DEF%'
UNION
SELECT * FROM user WHERE address LIKE '%GHI%'
AND
SELECT * FROM user WHERE address1 LIKE '%ABC%'
UNION
SELECT * FROM user WHERE address1 LIKE '%DEF%'
UNION
SELECT * FROM user WHERE address1 LIKE '%GHI%'";
當然不行,因為AND
不是這樣用的。
AND 要改UNION
不知道這是否你要的...
SELECT *
FROM user
WHERE (1=2
or address LIKE '%ABC%'
or address LIKE '%DEF%'
or address LIKE '%GHI%'
)
AND (1=2
or address1 LIKE '%ABC%'
or address1 LIKE '%DEF%'
or address1 LIKE '%GHI%'
);
謝謝 正確是這樣 感恩 , 請問 1=2 的意思是什麼 ?
1=2 應該可以省略
只要使用 address like 'xxx' or address like 'ooo'
1=2 代表不成立 這邊存真大大可能只是想強調可以使用or+ like 吧
dog830228 你是說這樣嗎 ? 不行執行 , 沒關係有 1=2 也沒差 , 請問如果要再加篩選條件 , 如 time LIKE '%9%' 要加在哪 , 我試過好幾個方法 , 下面是其中一個 , 還是不行
SELECT *
FROM user
WHERE (1=2
or address LIKE '%ABC%' or time LIKE '%9%'
or address LIKE '%DEF%' or time LIKE '%9%'
or address LIKE '%GHI%' or time LIKE '%9%'
)
AND (1=2
or address1 LIKE '%ABC%' or time LIKE '%9%'
or address1 LIKE '%DEF%' or time LIKE '%9%'
or address1 LIKE '%GHI%' or time LIKE '%9%'
);
我的意思是這樣
WHERE ( address1 LIKE '%ABC%'
or address1 LIKE '%DEF%'
or address1 LIKE '%GHI%'
)
dog830228 了解 , 那如果再多一個篩選條件 time LIKE '%8%' , 我剛試過如下不行
$sql_query="SELECT *
FROM user
WHERE ( address LIKE '%ABC%' or time LIKE '%8%'
)
WHERE ( address1 LIKE '%ABC%' or time LIKE '%8%'
)";
ㄜ~ 你不能用兩個where
而且 time
欄位 我建議用撇號 來包含.
SELECT *
FROM user
WHERE
address LIKE '%ABC%' or `time` LIKE '%8%'
AND
address1 LIKE '%ABC%' or `time` LIKE '%8%'
)
謝謝各位 , 研究語法後 , 改成這樣可以了
$sql_query="SELECT *,MIN(time) FROM `fruit` WHERE time LIKE '0%' AND(afc LIKE '%芭樂%')AND (afc1 LIKE '%蘋果%' OR afc1 LIKE '%葡萄%' OR afc1 LIKE '%龍眼%')";