Mysql
 sql >> Database >  >> RDS >> Mysql

sessione di accesso distrutta dopo l'aggiornamento

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.