L'errore è sull'ultima query perchè faccio la fetch e mi dice che la query è sbagliata.
Io per capire qual'è il problema ho eseguito questo procedimento che ho spiegato anche prima:

$q=$db->query(select query from tabella ...)->fetch_assoc();
echo $q[query];

così sul browser avrò:
"select qualcosa from qualche_tabella"

copio il codice dal browser e lo rimetto nel php in questo modo (questo è solo un test che faccio per vedere se la query nel db è esatta).

$q="select qualcosa from qualche_tabella" //il codice che ho copiato dal browser
$dati=$db->query($q)->fetch_assoc();

e funziona. Per cui io penso che la stringa nel db è di tipo diverso da quella che copio dal browser.

Kmq ora da qui non posso ne provare ne restituirvi gli errori. Lunedì posso fare tutto, ma il problema non è fare una query, ma fare una query selezionata da un'altra query.

Scusate se sembro arrogante, ma cerco solo di essere i + chiaro possibile.