No necesariamente, eso sólo es obligatorio si el valor de esa columna es CHAR o VARCHAR. Además, si lo que estuviese poniendo fuese una cadena de caracteres, probablemente devolvería un mensaje "columna desconocida" y no "error de sintaxis".
Un error posible es que las variables en cuestión estuviesen vacías, caso en el que el valor a comparar no aparece y sí hay un error de sintaxis.
Lo primero que tendrías que hacer es capturar la sentencia completa una vez creada y mostrarla para que podamos ver qué es lo que realmente queda escrito.
Debería quedar algo parecido a esto:
Si
categoría fuese una cadena de texto, esto generaría un error de "columna desconocidia":
Código MySQL:
Ver originalWHERE categorias
= noticias
-- Suponiendo que "noticias" fuese una categoria.
Pero si la variable llega vacía, el resultado sería este:
Y eso sí generaría un error de sintaxis porque falta un parámetro del WHERE.