Mysql
 sql >> Database >  >> RDS >> Mysql

Problemi con la casella di selezione e la casella radio per la ricerca avanzata di php mysql

La tua query ha restituito un risultato errato a causa del OR finale l'operatore ha qualificato tutti i record con descriptions contenente $oneword . Invece, devi usare () per raggruppare le condizioni di ricerca del testo.

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."%');