wiki.phpfreakz.nl
Aanmelden Artikel Overleg Bewerk Geschiedenis Go to the site toolbox

Datamanipulatie

Datamanipulatie is het bewerken van data.

Escapen

Escapen is het aangeven dat sommige tekens in een string niet behoren tot syntax maar tot data.

b.v. in PHP worden strings aangegeven door er quotes omheen te zetten:

$sString = 'hallo, ik ben een string!';

Als in de string zelf nu ook een quote zou moeten staan dan zou PHP niet meer kunnen zien welke quotes nu onderdeel is van PHP en welke onderdeel zijn van de string:

$sString = 'hallo, hier staat een quote:' goed he?';

Zoals je aan de kleurcodering kunt zien valt 'goed he?' nu buiten de string en dat levert een syntax error op.

Door de quote te escapen vertel je PHP dat die quote geen PHP code is maar onderdeel van de string. In PHP escape je tekens door er een backslash voor te zetten:

$sString = 'hallo, hier staat een quote:\' goed he?';

Manieren om te escapen

PHP kan de slashes er automatisch voorzetten via de functie 'addslashes()'.

note: Voor databases is addslashes() niet geschikt!

  • Voor databases gebruik je altijd, als die voor jouw database beschikbaar zijn, de functies die voor die database bestaan. Voor PostgreSQL heb je pg_query_params() en pg_escape_string() en voor MySQL heb je mysql_real_escape_string(). Met deze functies voorkom je SQL injection, of zorg je dat een legaal aanwezige quote in je invoer veilig de database in kan.

NB: niet voor elk type database is een dergelijke functie beschikbaar. In Oracle of MSSQL moet een ' verdubbeld worden om deze veilig in te voeren. Daarvoor is echter niet een functie a la mysql_real_escape_string() beschikbaar.

Zie ook

Site Toolbox:

Persoonlijke hulpmiddelen
De laatste wijziging op deze pagina vond plaats op 18 jul 2010 20:47. - Deze pagina werd 2.177 maal bekeken. - Disclaimers - Over PFZWIKI