Dynamische Einbindung von parametern beim Prepared Statment

Wenn man m mit Datenbanken und php arbeitet, gibt es immer das Problem einer Injection. Injektion bedeutet, dass ein SQL-Statment abgesendet wird das manipuliert wurde, um sich zum Beispiel einzuloggen.
Um dies zu verhindern, bietet die MySqli – Erweiterung die Möglichkeit sogenannte prepared statments zu erstellen. ( wikipedia )
Dazu hier der Aufbau eines solchen Statements:

“SELECT * FROM `tabelle` WHERE `name` = ?”

Dabei wird das “?” später ersetzt mit Hilfe dieser Funktion :

$stmt->bind_param( ‘s’,$name); 

 

Bei mehreren Variablen sieht das so aus:

“SELECT * FROM `tabelle` WHERE `name` = ? AND `test` = ?”
$stmt->bind_param( ‘ss’,$name,$test);

Schnell wird klar, dass es so nicht möglich ist, eine variable Anzahl von Parametern zu benutzen, was unter umständen aber sehr wichtig sein kann.

Um dieses Problem zu beseitigen, waren viele Stunden der suche und des Ausprobierens nötig. Die Lösung dieses Problems findet Ihr auf dieser Seite… http://dev.flauschig.ch/wordpress/?p=213, danke dafür.

 

 

Dieser Beitrag wurde unter Coding abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>