Het probleem zit in de prioriteit van OR
/AND
voorwaarden. AND
heeft een hogere prioriteit dan OR
, daarom evalueert het eerst alle voorwaarden verbonden door AND
(tags-merch, newsID-2134 en status-1) en evalueert vervolgens de tags-gda en tags-contests).
Probeer de haakjes toe te voegen:
SELECT *
FROM `posts`
WHERE (`tags` LIKE '%gda%'
OR `tags` LIKE '%contests%'
OR `tags` LIKE '%merch%')
AND `newsID` != '2134'
AND `status` > '1'
ORDER BY `postDate` DESC
LIMIT 5