Sicherheits behandlung von Variablen bei PDO Datenbank Abfragen
bearbeitet von Christian KruseHallo Urs,
wenn Du mit prepared statements und Host-Variablen arbeitest, kümmert sich PDO um die kontextgerechte Behandlung. Du musst nichts weiter tun.
Aber:
- den Doppelpunkt musst Du mit in die Array-Keys übernehmen (siehe die [Beispiele zu Execute](http://php.net/manual/de/pdostatement.execute.php))
- du brauchst keine Temp-Variablen. Du kannst beim Erzeugen des Parameter-Array direkt $_POST-Elemente angeben, z.B. so:
~~~php
$result = $statement->execute(
array(':vorname' => $_POST['vorname'],
':nachname'=> $_POST['nachname'],
':userid' => $user['id'] ));
~~~
Du kannst Dir auch noch überlegen, auf die neuere Notation für Arrays umzusteigen (seit PHP 5.4):
~~~php
// alt:
ARRAY(':vorname' => $_POST['vorname'], ':nachname'=> $_POST['nachname'], ':userid' => $user['id'] )
// neu:
[':vorname' => $_POST['vorname'], ':nachname'=> $_POST['nachname'], ':userid' => $user['id']]
~~~
_Rolf_
--
sumpsi - posui - clusi
Sicherheits behandlung von Variablen bei PDO Datenbank Abfragen
bearbeitet von Rolf BHallo Urs,
wenn Du mit prepared statements und Host-Variablen arbeitest, kümmert sich PDO um die kontextgerechte Behandlung. Du musst nichts weiter tun.
Aber:
- den Doppelpunkt musst Du mit in die Array-Keys übernehmen (siehe die [Beispiele zu Execute](http://php.net/manual/de/pdostatement.execute.php))
- du brauchst keine Temp-Variablen. Du kannst beim Erzeugen des Parameter-Array direkt $_POST-Elemente angeben, z.B. so:
~~~php
$result = $statement->execute(
array(':vorname' => $_POST['vorname'],
':nachname'=> $_POST['nachname'],
':userid' => $user['id'] ));
~~~
Du kannst Dur auch noch überlegen, auf die neuere Notation für Arrays umzusteigen (seit PHP 5.4):
~~~php
// alt:
ARRAY(':vorname' => $_POST['vorname'], ':nachname'=> $_POST['nachname'], ':userid' => $user['id'] )
// neu:
[':vorname' => $_POST['vorname'], ':nachname'=> $_POST['nachname'], ':userid' => $user['id']]
~~~
_Rolf_
--
sumpsi - posui - clusi