En realidad... si. Es que los dos parámetros del WHERE son incompatibles entre sí.
Lo que tienes es esto (los alias de las tablas los puse para hacer que el código sea más entendible):
Código MySQL:
Ver original `receta_ingredientes` RI
RI.idIngrediente = 4
RI.idIngrediente = 5;
Si te fijas, estás pidiendo que te devuelva todos los registros de recetas e ingredientes tales que el
idIngrediente sea
al mismo tiempo 4 y 5...
Eso es simplemente imposible, ¿no te parece?
O ese registro tiene un 4 en ese campo, o tiene el 5,
pero no puede tener los dos valores al mismo tiempo.