Programmierung

[PHP] Parametrisierte SQL Befehle

Angenommen, wir haben eine Codezeile, die so ausschaut:

$sql = "INSERT INTO benutzer(name) VALUES ('$name')";

Und angenommen, die Variable $name hätte den Wert:

"Alice O'Sullivan"

Wenn man nun den Wert von $name an die Stelle in der SQL-Zeile einsetzt, ergibt das folgendes:

INSERT INTO benutzer(name) VALUES ('Alice O'Sullivan')

Nun, das würde nun unser SQL-Statement zerschießen und eine Fehlermeldung herbeiführen. Durch sowas ist SQL Injection leichter möglich. Um dies zu verhindern, nutzt man parametrisierte SQL Befehle.

Hier ein Beispiel:

$sql = "INSERT INTO benutzer(name) VALUES ($1)";
$result = pg_query_params($db, $sql, array("Alice O'Sullivan"));

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.