sql >> Databasteknik >  >> RDS >> Mysql

Använder php filter_var med mysql_real_escape_string

Sanering en sträng tjänar till att få den att överensstämma med vissa förväntningar. FILTER_SANITIZE_EMAIL tar bort alla tecken från en sträng som skulle vara ogiltiga i ett e-postmeddelande. Resultatet är (förmodligen) garanterat att överensstämma med e-postadresssyntax. Hur användbart det är att slumpmässigt ta bort tecken från en sträng ska jag överlåta till dig. (Tips:Jag tror inte att det är särskilt användbart alls; du bör hellre avvisa ogiltiga adresser än att omvandla dem till slumpmässiga resultat. Jag ger dig en ogiltig e-postadress, du hamrar den till någon form som liknar en e-postadress, nu hur vet du att du kommer att kunna skicka ett mejl till mig...?!)

mysql_real_escape_string är till för att säkerställa att en godtycklig sträng inte bryter mot SQLs bokstavliga syntax för strängar genom att escape-värda tecken. Förutsatt att du använder det korrekt (många fallgropar som mysql har, vilket är anledningen till att det är utfasat...), finns det inget du kan göra med dess input som skulle få det att misslyckas. Om du ger den vilken godtycklig sträng som helst, den ger dig den escaped versionen, punkt.

Som sådan, i allmänhet, ja, det du gör är bra. Om mysql_real_escape_string är den sista sak du gör med din sträng innan du interpolerar den till en SQL-sträng, så är det bra.



  1. MySQL find_in_set med flera söksträngar

  2. Skapa en beräknad kolumn som använder data från en annan tabell i SQL Server

  3. 11 vanliga SQL-satser med grundläggande exempel

  4. Likhetsfunktion i Postgres med pg_trgm