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

Undslipper enkelt citat i PHP ved indsættelse i MySQL

Du bør undslippe hver af disse strenge (i begge uddrag) med mysql_real_escape_string() .

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

Grunden til, at dine to forespørgsler opfører sig forskelligt, er sandsynligvis, fordi du har magic_quotes_gpc tændt (hvilket du skal vide er en dårlig idé). Dette betyder, at strenge indsamlet fra $_GET, $_POST og $_COOKIES escapes for dig (dvs. "O'Brien" -> "O\'Brien" ).

Når du først gemmer dataene og efterfølgende henter dem igen, vil den streng, du får tilbage fra databasen, ikke automatisk undslippet for dig. Du får "O'Brien" tilbage . Så du bliver nødt til at sende det gennem mysql_real_escape_string() .



  1. Omvendt streng ord for ord ved hjælp af SQL

  2. Regulært udtryk find og erstat i Postgres

  3. Jeg bliver ved med at få fejlrelationen [TABEL] eksisterer ikke

  4. Hvad gør pg_escape_string præcist?