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

Mysql Real Escape String PHP-funktion Tilføjer \ til My Field Entry

Hvis du henter dine $content-data fra en formular (og ikke "som det er" i PHP-koden) , måske har du et problem på grund af magiske citater (se magic_quotes_gpc )

Grundlæggende :

Hvis magiske citater er aktiveret (du kan tjekke dette i outputtet af phpinfo() , for eksempel) , vil du få den slags "dobbeltflugt" :

  • Disse karakterer vil blive undsluppet én gang af magiske citater,
  • Og så bliver de undslippet en anden gang af mysql_real_escape_string


Den gode løsning i dette tilfælde er ikke at stoppe med at bruge mysql_real_escape_string , men for at deaktivere magic_quotes_gpc i din konfiguration...

... Men da du ikke har adgang til det, bliver du faktisk nødt til at "vende tilbage" effekten af ​​magiske citater ved at kalde stripslashes på det input, du får som $_GET og $_POST , før du begynder at bruge det.

Bemærk:det er et råd, der er givet på manualsiden til mysql_real_escape_string (citat) :



  1. ORA-12704:tegnsæt uoverensstemmelse

  2. Sådan opretter du tabel med begrænsning af fremmednøgle i SQL Server - SQL Server / TSQL vejledning del 66

  3. Rails vælger tilfældig rekord

  4. Excel VBA:skrivning til mysql-database