अंतिम 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."%');