Primero, escape los valores de la publicación usando mysql_real_escape_string (Link ) para evitar cualquier ataque de inyección SQL y también problemas con los datos que tienen ' caracteres.
En segundo lugar, haga eco de la consulta y ejecútela en la base de datos y verifique los datos de la tabla para ver si la consulta
de hecho debe devolver algunos valores o puede ser que no haya coincidencias cuando incluya el resto de los criterios, ya que mencionó que esperaba el resultados que coincidan con todos esos valores.