Problemet är med prioriteten för OR
/AND
betingelser. AND
har högre prioritet än OR
, det är därför den först utvärderar alla villkor som är kopplade till AND
(tags-merch, newsID-2134 och status-1) och utvärderar sedan både tags-gda och tags-tävlingarna).
Försök att lägga till parenteser:
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