mysqli_real_escape_string()
KRÆVER du skal have en aktiv/etableret forbindelse til DB. Siden du laver m_r_e_s()
ring, FØR du opretter forbindelse, vil du simpelthen få boolesk FALSE tilbage for at angive fejl. Så du kasserer dine "citerede" værdier.
Booleske falske værdier indsat i en streng bliver bare konverteret til tomme strenge, så dine forespørgsler begynder at ligne
SELECT ... WHERE username=''
^---see the boolean false in there?
Din kodesekvens skal være:
session_start();
connect_to_db();
prepare_variables();
do_query();
Og siden du bruger mysqli, hvorfor undslipper du så variabler manuelt? Du kan bare bruge en forberedt erklæring + pladsholdere og omgå problemet helt.