mysqli_real_escape_string()
ИЗИСКВА да имате активна/установена връзка с БД. Тъй като изпълнявате m_r_e_s()
повикване ПРЕДИ да се свържете, просто ще получите обратно булева FALSE, за да означава неуспех. Така че изхвърляте своите "цитирани" стойности.
Булеви фалшиви стойности, вмъкнати в низ, просто се преобразуват в празни низове, така че вашите заявки започват да изглеждат като
SELECT ... WHERE username=''
^---see the boolean false in there?
Вашата кодова последователност трябва да бъде:
session_start();
connect_to_db();
prepare_variables();
do_query();
И тъй като използвате mysqli, защо така или иначе ръчно избягвате променливите? Можете просто да използвате подготвено изявление + заместители и да заобиколите проблема изцяло.