Mysql
 sql >> Base de données >  >> RDS >> Mysql

session de connexion détruite après l'actualisation

mysqli_real_escape_string() REQUIS vous d'avoir une connexion active/établie à la base de données. Puisque vous faites le m_r_e_s() call AVANT de vous connecter, vous obtiendrez simplement un booléen FALSE pour signifier un échec. Vous supprimez donc vos valeurs "citées".

Les fausses valeurs booléennes insérées dans une chaîne sont simplement converties en chaînes vides, de sorte que vos requêtes commencent à ressembler à

SELECT ... WHERE username=''
                           ^---see the boolean false in there?

Votre séquence de code doit être :

session_start();
connect_to_db();
prepare_variables();
do_query();

Et puisque vous utilisez mysqli, pourquoi échappez-vous manuellement les variables de toute façon ? Vous pouvez simplement utiliser une instruction préparée + des espaces réservés et contourner complètement le problème.