ok. cmq il problema non è quello perchè funzionava anche come avevo scritto.
Invece ci deve essere un problema nel ciclo. se tolgo le query con i join funziona.
Altrettanto se tolgo la prima query e lascio le altre.
Invece lasciandole tutte succede qualcosa dopo il primo ciclo e non funziona più il join e mi dà questo errore:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 AS o JOIN appello AS c on o.id_insegn = c.id_insegn WHERE c.id_insegn = 2' at line 1