sql >> Databasteknik >  >> RDS >> Mysql

inloggningssessionen förstörs efter uppdatering

mysqli_real_escape_string() KRÄVER du ska ha en aktiv/etablerad anslutning till DB. Eftersom du gör m_r_e_s() ring INNAN du ansluter får du helt enkelt tillbaka boolesk FALSE för att betyda misslyckande. Så du slänger dina "citerade" värden.

Booleska falska värden som infogas i en sträng konverteras bara till tomma strängar, så dina frågor börjar se ut som

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

Din kodsekvens ska vara:

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

Och eftersom du använder mysqli, varför undslipper du variabler manuellt? Du kan bara använda ett förberett uttalande + platshållare och förbigå problemet helt.



  1. Vad är "rowversion" i SQL Server?

  2. SequelizeConnectionError:självsignerat certifikat

  3. filen laddas inte upp i ajax php mysql

  4. SQL - OM FINNS UPPDATERA ANNARS INSERT INTO