sql >> Base de Datos >  >> RDS >> Mysql

sesión de inicio de sesión destruida después de actualizar

mysqli_real_escape_string() REQUIERE que tenga una conexión activa/establecida a la base de datos. Ya que estás haciendo el m_r_e_s() llame ANTES de conectarse, simplemente obtendrá FALSO booleano para indicar una falla. Así que estás tirando a la basura tus valores "cotizados".

Los valores falsos booleanos insertados en una cadena simplemente se convierten en cadenas vacías, por lo que sus consultas comienzan a verse como

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

Su secuencia de código debe ser:

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

Y dado que está usando mysqli, ¿por qué está escapando manualmente las variables de todos modos? Simplemente podría usar una declaración preparada + marcadores de posición y omitir el problema por completo.