sql >> Database >  >> RDS >> Mysql

inlogsessie vernietigd na vernieuwen

mysqli_real_escape_string() VEREIST u een actieve/vastgestelde verbinding met de database hebt. Aangezien je de m_r_e_s() . doet call VOORDAT je verbinding maakt, krijg je gewoon boolean FALSE terug om een ​​mislukking aan te duiden. Dus je gooit je "geciteerde" waarden weg.

Booleaanse valse waarden die in een tekenreeks worden ingevoegd, worden gewoon omgezet in lege tekenreeksen, dus uw zoekopdrachten beginnen eruit te zien als

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

Uw codereeks moet zijn:

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

En aangezien je mysqli gebruikt, waarom ontsnap je dan toch handmatig aan variabelen? U kunt gewoon een voorbereide verklaring + tijdelijke aanduidingen gebruiken en het probleem volledig omzeilen.



  1. Inleiding tot SQL Server 2017

  2. java jdbc mysql-connector:hoe loskoppelen op te lossen na een lange inactieve tijd

  3. NAME_IN ingebouwd in Oracle D2k Forms

  4. 4 tips voor het instellen van uw SQL Server-waarschuwingen