Truy vấn của bạn trả lại kết quả không chính xác do OR
cuối cùng nhà điều hành đủ điều kiện tất cả các bản ghi với descriptions
chứa $oneword
. Thay vào đó, bạn cần sử dụng ()
để nhóm các điều kiện tìm kiếm văn bản lại với nhau.
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."%');