Votre requête renvoyait un résultat incorrect en raison du OR
final l'opérateur a qualifié tous les enregistrements avec des descriptions
contenant $oneword
. Au lieu de cela, vous devez utiliser ()
pour regrouper les conditions de recherche de texte.
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."%');