En la segunda, lo primero sería saber si efectivamente hay registros devueltos por ese JOIN (la coma).
Código MySQL:
Ver original a.numeroExpediente,
a.fechaDesde,
a.fechaHasta,
a.dias,
a.monto,
a.interesOrdinario,
a.interesLuegoVcto,
a.interesMoratorio,
b.fechaVcto,
DATEDIFF(b.fechaVcto
,a.fechaHasta
) fechaV
detalleliquidaciones a
, exp b
a.numeroExpediente = b.numeroExpediente;
En definitiva el error central, como ya te han explicado con otras palabras, es que tu estas
asumiendo que las consultas han funcionado bien, pero eso es algo que
no estás comprobando en ninguna parte.
Como mínimo deberías usar un if contra el recurso de resultado de la consulta, para ssaber si tienes algo con qué hacer el fetch_assoc().