mysqli_real_escape_string() PERLU Anda memiliki koneksi yang aktif/terbentuk ke DB. Karena Anda melakukan m_r_e_s() panggilan SEBELUM Anda terhubung, Anda hanya akan mendapatkan kembali boolean FALSE untuk menandakan kegagalan. Jadi, Anda membuang nilai "yang dikutip" Anda.
Nilai palsu Boolean yang dimasukkan ke dalam string baru saja diubah menjadi string kosong, sehingga kueri Anda mulai terlihat seperti
SELECT ... WHERE username=''
^---see the boolean false in there?
Urutan kode Anda harus:
session_start();
connect_to_db();
prepare_variables();
do_query();
Dan karena Anda menggunakan mysqli, mengapa Anda secara manual keluar dari variabel? Anda bisa menggunakan pernyataan + placeholder yang sudah disiapkan dan mengabaikan masalah sepenuhnya.