sql >> Databáze >  >> RDS >> Mysql

Únik z jednoduché uvozovky v PHP při vkládání do MySQL

Každý z těchto řetězců (v obou úryvcích) byste měli escapovat pomocí mysql_real_escape_string() .

http://us3.php.net/mysql-real-escape-string

Důvod, proč se vaše dva dotazy chovají odlišně, je pravděpodobně proto, že máte magic_quotes_gpc zapnuto (což byste měli vědět, že je to špatný nápad). To znamená, že řetězce shromážděné z $_GET, $_POST a $_COOKIES jsou pro vás escapovány (tj. "O'Brien" -> "O\'Brien" ).

Jakmile data uložíte a následně je znovu načtete, řetězec, který získáte zpět z databáze, nebude automaticky uniknout pro vás. Vrátíte se zpět "O'Brien" . Budete jej tedy muset předat přes mysql_real_escape_string() .



  1. Použití příznaku trasování 3226 k potlačení protokolování zálohování protokolu

  2. Návrh databáze pro náborový systém

  3. Jak získat včerejší datum v MySQL

  4. Získání popisovače pro nativní Oracle Connection v Hibernate 4 pro spuštění uloženého proc