2011-02-23 64 views
2

我想作一個MySQL查詢,如:SELECT * FROM something WHERE title LIKE '%".$_POST["search"]."%' OR something LIKE '%".$_POST["search"]."%' AND costs < '".$max."'如何將WHERE子句的一部分分配給其他多個部分?

這會給我所有的地方如搜索標題和結果像搜索和成本較小$最大的結果。但我希望< $ max也用於像$ search這樣的標題。但我不想在腳本中投入兩次成本< $ max。那麼有沒有辦法將它分配給兩者?可能與括號:WHERE (title LIKE '%".$_POST["search"]."%' OR something LIKE '%".$_POST["search"]."%') AND costs < '".$max."'

我該如何做到這一點?

謝謝! phpheini

+0

我會建議你在where子句中沒有'%string%'。它會起作用,但速度會很慢。我建議查看MySQL提供的全文搜索功能來幫助解決這個問題。 – 2011-02-23 20:16:34

回答

6

是的,你可以使用括號,這樣的OR首先計算:

WHERE (title LIKE '%foo%' OR something LIKE '%foo%') 
AND costs < '20' 

其他說明:

+3

即使OP將此解決方案作爲問題的一部分發布,我也只能投票贊成;-) – 2011-02-23 19:57:13

+0

非常好,非常感謝! – phpheini 2011-02-23 20:24:13

相關問題