sql >> Databasteknik >  >> RDS >> Mysql

När ska jag INTE använda mysql_real_escape_string

Det är en dålig idé av ett par anledningar:

  • För det första förutsätter det att dina indata alltid kommer att gå in i databasen och enbart till databasen. Vad händer om något kommer att användas i HTML-utdata? Eller i ett mejl? Eller skrivit till en fil? Eller massor av annat... din filtrering ska alltid vara kontextkänslig.
  • Ännu viktigare, det uppmuntrar till slarvig användning av GET, POST, etc eftersom det inte finns någon indikation på att de har filtrerats. Om någon ser dig använder

    echo $_POST['namn'];

    på en sida, hur skulle de veta att den har filtrerats? Eller ännu värre... är du säker på att det har varit det? Hur är det med den andra appen? Du vet, den du just fick? Vad skulle nya utvecklare göra? Skulle de ens veta att filtrering är viktigt?



  1. Ändra separator för WM_CONCAT-funktionen för Oracle 11gR2

  2. MySQL:Beräknad kolumn

  3. Mysql:dumpa databas tillsammans med data

  4. PHP &MySQL jämför lösenord