Mirando la query limpia, sería así:
Código MySQL:
Ver original un.*,
po.nombre_poblacion,
ti.nombre_tipo_".$idioma.",
op.operacion_tipo_".$idioma."
un.poblacion = po.id_poblacion
AND un.operacion
= op.id_operacion
AND un.operacion
= ".$idOperacion." AND un.operacion
= fm.id_familia
".$condFam.' '.$cndTip.'
'.$cndCiu.'
'.$cndPre.'
'.$cndHab.'
'.$cndMet."
Esa sintaxis tiene demasiadas cosas dependientes de variables de PHP, que no podemos ver, y que son dinámicas.
El problema, entonces, no está dado por la base de datos, sino por la forma en que armas en programación, muy probablemente (99% de posibilidades) que haya algo en las variables que no es lo que crees.
Como fuese, es OFF TOPIC en el foro de MySQL, y en los foros de BBDD no se postean codigos de programación.
Por lo demás el error mencionado es de PHO, no de MySQL, y se da cuando el objeto es nulo, por lo que en realidad es un problema de ejecución en PHP.
Movido al foro de PHP.
Consejo: Postea todo el codigo del script. Si no se ve el contexto completo no podemos saber si lo estás haciendo bien.