Uhm... potresti mettere da qualche parte un echo per vedere a che punto si blocca, tipo un echo $array per vedere se l'array si forma

P.S. ma $echo è corretta? Non è un nome riservato?
La query non dovrebbe essere una join?