non ti ho detto l'output dello script ma ti ho detto di stampare la QUERY prodotta dinamicamente dallo script.

In pratica prima di fare $query = $data -> query($sql);
scrivi
Codice PHP:
exit($sql);
$query $data -> query($sql); 
Ottenuta la query fai diversi test su phpmyadmin per capire cosa devi correggere per ottenere ciò che desideri...

------------------
Questa rientra nelle classiche attività di debug degli script e serve per rendersi conto di "ciò che succede".