Rolf B: Sicherheits behandlung von Variablen bei PDO Datenbank Abfragen

Beitrag lesen

Hallo 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)
  • du brauchst keine Temp-Variablen. Du kannst beim Erzeugen des Parameter-Array direkt $_POST-Elemente angeben, z.B. so:
$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):

// 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