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.





