El problema es con la prioridad de OR
/AND
condiciones. AND
tiene una prioridad más alta que OR
, por eso primero evalúa todas las condiciones conectadas por AND
(tags-merch, newsID-2134 y status-1) y luego evalúa tanto tags-gda como tags-contests).
Intenta agregar los corchetes:
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