sql >> Database >  >> RDS >> Mysql

php filter_var gebruiken met mysql_real_escape_string

Ontsmetting een string dient om het aan bepaalde verwachtingen te laten voldoen. FILTER_SANITIZE_EMAIL verwijdert alle tekens uit een tekenreeks die ongeldig zouden zijn in een e-mail. Het resultaat is (vermoedelijk) gegarandeerd conform de syntaxis van e-mailadressen. Hoe nuttig het willekeurig verwijderen van tekens uit een string is, laat ik aan jou over. (Hint:ik denk niet dat het erg handig is; je moet liever ongeldige adressen afwijzen dan ze om te zetten in willekeurige resultaten. Ik geef je een ongeldig e-mailadres, je hamert het in een vorm die lijkt op een e-mailadres, hoe weet je dat je me een e-mail kunt sturen...?!)

mysql_real_escape_string is er om ervoor te zorgen dat een willekeurige tekenreeks de letterlijke tekenreekssyntaxis van SQL niet schendt door alle ontsnappingswaardige tekens te escapen. Ervan uitgaande dat je het correct gebruikt (veel valkuilen die mysql heeft, en daarom is het verouderd...), kun je niets aan de invoer doen waardoor het zou mislukken. Je geeft het een willekeurige tekenreeks, het geeft je de escape-versie, punt.

Als zodanig, in het algemeen, ja, wat je doet is prima. Als mysql_real_escape_string is de laatste wat je met je string doet voordat je het in een letterlijke SQL-string interpoleert, dan is het in orde.



  1. Tabel maken mislukt met Foreign Key Constraint is onjuist gevormd

  2. Hoe de SOUNDS LIKE-operator werkt in MySQL

  3. Hoe selecteer ik willekeurig unieke rijenparen uit een tabel?

  4. Hoe een opgeslagen procedure in SQL Server te coderen