sql >> Databasteknik >  >> RDS >> Mysql

mysql_escape_string hela postarrayen?

Jag skulle använda array_walk() fungera. Den är bättre lämpad eftersom den modifierar POST superglobal så att eventuell framtida användning saneras.

array_walk_recursive( $_POST, 'mysql_real_escape_string' );

Se dock till att du inte litar på den här linjen för att helt skydda din databas från attacker. Det bästa skyddet är att begränsa teckenuppsättningar för vissa fält. Ex. E-postmeddelanden har inga citattecken (så tillåt endast bokstäver, siffror, @, bindestreck, etc.) och namn har inte parentes (så tillåt endast bokstäver och utvalda specialtecken)

EDIT: Ändrade array_walk() till array_walk_recursive() tack vare @Johans förslag. Rekvisita till honom.



  1. Visa luckor mellan datum i MySQL

  2. Förklara funktionen för select max(...) ... group by i sql

  3. Vad är MAX-numret om jag lagrar int(255) i MySQL?

  4. Släpp tabell om den finns