SELECT c.id_canzone, a1.nome_artista, a2.nome_artista
FROM canzoni as c LEFT JOIN artisti as a1 on c.id_primo_artista= a1.id_artista
LEFT JOIN artisti as a2 on c.id_secondo_artista= a2.id_artista
WHERE id_canzone =".$array[id_canzone];
qualcosa del genere
mancava questa:
WHERE id_canzone =".$array[id_canzone];
Senza di essa il ciclo andava sempre a casaccio. In particolare, prendeva in considerazione le informazioni presenti nel primo record e le stampava identiche per tutti gli altri records ciclati