簡體   English   中英

mysql_query使用OR從多個列中選擇

[英]mysql_query select from multiple columns with OR

我有:

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

它不返回任何結果。

我在這里使用OR錯誤嗎?

謝謝

您將需要在所有三個子句中添加LIKE:

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

不,..您每次都需要使用類似的“ ...”

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

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

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

附帶說明一下,如果$ term恰好是(減去雙引號)“';從文章中刪除;-”會發生什么? (如果原始查詢有單引號,請在單引號后添加一個結束括號。)我建議您依靠某種類似於sprintf的功能(在PHP中,這通常意味着您需要准備好的語句),而不要使用已棄用的功能,即魔術引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM