sql >> Database >  >> RDS >> Mysql

Mysql Real Escape String PHP-functie \ toevoegen aan mijn veldinvoer

Als u uw $content-gegevens ophaalt van een formulier (en niet "zoals het is" in de PHP-code) , misschien heb je een probleem vanwege magische aanhalingstekens (zie magic_quotes_gpc )

Kortom:

Als magische aanhalingstekens zijn ingeschakeld (u kunt dit controleren in de uitvoer van phpinfo() , bijvoorbeeld) , krijg je dat soort "dubbele ontsnapping" :

  • Die tekens worden één keer ontsnapt door magische aanhalingstekens,
  • En dan zullen ze een tweede keer worden ontsnapt door mysql_real_escape_string


De goede oplossing is in dit geval niet te stoppen met het gebruik van mysql_real_escape_string , maar om magic_quotes_gpc in uw configuratie uit te schakelen...

... Maar omdat je er geen toegang toe hebt, moet je het effect van magische aanhalingstekens "terugdraaien" door stripslashes op de invoer die je krijgt als $_GET en $_POST , voordat u het gaat gebruiken.

Opmerking:het is een advies dat wordt gegeven op de handleiding van mysql_real_escape_string (citaat) :



  1. Converteer de nieuwe rij naar XML binnen een Oracle Trigger

  2. Voer MySQL-query uit op een externe computer via ssh in de opdrachtregel

  3. Hoe te groeperen op jaar in T-SQL

  4. Benchmarking databases 101 - deel 1