mysqli_real_escape_string()
RICHIEDE di avere una connessione attiva/stabilita con il DB. Dato che stai facendo il m_r_e_s()
chiama PRIMA di connetterti, tornerai semplicemente booleano FALSO per indicare un errore. Quindi stai eliminando i tuoi valori "quotati".
I valori booleani falsi inseriti in una stringa vengono semplicemente convertiti in stringhe vuote, quindi le tue query iniziano a sembrare
SELECT ... WHERE username=''
^---see the boolean false in there?
La sequenza di codice dovrebbe essere:
session_start();
connect_to_db();
prepare_variables();
do_query();
E dal momento che stai usando mysqli, perché stai comunque eseguendo manualmente l'escape delle variabili? Potresti semplicemente usare un'istruzione preparata + segnaposto e aggirare completamente il problema.