Il database non c'entra, è un errore di sintassi in PHP.
Per recuperare il valore da un array dentro una stringa esistono due modi:
1- spezzandola e concatenando le varie parti col punto
2- usando la complex syntax, inserendo la variabile tra parentesi graffeCodice PHP:
$array['chiave'] = '-';
echo "prima parte della stringa" . $array['chiave'] ."seconda parte";
// Visualizzerà: prima parte della stringa-seconda parte
Piccola nota per la complex syntax: se la chiave è numerica non servono gli apici; le parentesi graffe devono esserci comunque.Codice PHP:
$array['chiave'] = '-';
echo "prima parte della stringa {$array['chiave']} seconda parte";
// Visualizzerà: prima parte della stringa-seconda parte
Spesso vengono omesse sia le parentesi graffe che gli apici che delimitano la chiave dell'array ma è una tecnica errata. Così facendo PHP cerca prima una costante col nome della chiave e se non lo trova risolve la questione senza nemmeno mostrare errori.
Insomma, non è bella programmazione ;P
Buon lavoro!
Daniele
Edit: il tuo script comunque si potrebbe semplificare usando una sola query, incrociando le due tabelle (Inner Join).
Ti consiglio di leggere questa pagina: http://database.html.it/guide/lezion...so-delle-join/ che spiega cosa sono e come usarle.
E' una soluzione più performante per il database, soprattutto se la prima query restituisce un elevato numero di record.