Prova a stampare

echo $tmpkey."
" ;

vedi se stampa le chiavi dell'array, all'interno del foreach, così capisci se l'array è ok.



poi stampa la sql per vedere se è corretta.

echo $sql ;


a questo punto prova il ciclo while dentro e fuori dal foreach, non ricordo, in ogni caso per vedere i record devi fare il ciclo.