O problema é com a prioridade de
OR
/AND
condições. AND
tem uma prioridade mais alta que OR
, é por isso que primeiro avalia todas as condições conectadas por AND
(tags-merch, newsID-2134 e status-1) e, em seguida, avalia as tags-gda e tags-contests). Tente adicionar os colchetes:
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