最後のOR
が原因で、クエリが誤った結果を返していました オペレーターはすべてのレコードをdescriptions
で修飾しました $oneword
を含む 。代わりに、()
を使用する必要があります テキスト検索条件をグループ化します。
select *
from mytable
where time <= '".$time ."' and person = '".$person."'
and category in ('". implode("','", $_POST['categories']) ."')
and cities in ('". implode("','", $_POST['cities']) ."')
and weather in ('". implode("','", $_POST["weather"]) ."')
and (word like '%".$oneword."%' or description like '%".$oneword."%');