Le AND
l'opérateur a une priorité plus élevée que OR
dans MySql
, donc votre expression actuelle est évaluée comme :
WHERE 'foo' OR ('bar' AND 'lol') OR 'rofl'
Ajoutez des parenthèses à l'expression si vous souhaitez forcer l'ordre d'évaluation :
WHERE ('foo' OR 'bar') AND ('lol' OR 'rofl')