2012-06-05 18 views
0

我:MYSQL_QUERY從多個列與SELECT或

$sql = mysql_query("select * from articles where articletitle OR articledescription OR articletags like '%$term%'");

,它不返回任何結果。

我在這兒使用OR還是不正確?

感謝

+0

謝謝你們。我已經投票支持你們所有人了,會給Dacto一個答案,因爲他目前聲譽最低......如果這是公平的? – Zrb0529

+0

祝你好運,玩得開心!乾杯。 – Dacto

回答

2

您需要LIKE添加到所有三個子句:

SELECT * FROM articles WHERE (articletitle LIKE '%$term%') OR (articledescription LIKE '%$term%') OR (articletags LIKE '%$term%'); 
+0

因爲你在對每個項目進行ORing,所以你不需要父母 – Aknosis

+0

是的,我知道,但它有助於分隔正在學習的人在看什麼。 – Dacto

1

都能跟得上..你需要使用像 '......' 每次

$sql = mysql_query("select * from articles where articletitle like '%$term%' OR 
articledescription like '%$term%' OR articletags like '%$term%'"); 
1

是。 :-)你使用不正確。

select * from articles where (articletitle like '%$term%') 
OR (articledescription like '%$term%') OR (articletags like '%$term%') 
0

在一邊評論,如果$ term正好(減去雙引號)「'; DELETE FROM articles; - 」會發生什麼? (如果你的原始查詢有這樣的話,在單引號之後添加一個結束符)。我建議你依賴一些類似sprintf的工具(在PHP中它通常意味着你需要準備好的語句),而不是被稱爲魔術引號的被棄用的錯誤特徵。