Prepared Statement: Unterschied zwischen den Versionen

Aus IT-Forensik Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 10: Zeile 10:
Beispiel eines Prepared Statement in PHP mit PHP Data Objects:
Beispiel eines Prepared Statement in PHP mit PHP Data Objects:


[[Datei:PreparedStatement.png|gerahmt|Prepared Statement in PHP]]
[[Datei:PreparedStatement.png|Prepared Statement in PHP]]
   
   
Quellen: https://de.wikipedia.org/wiki/Prepared_Statement
Quellen: https://de.wikipedia.org/wiki/Prepared_Statement

Aktuelle Version vom 29. Februar 2020, 16:28 Uhr

Ein Prepared Statement ist eine sogenannte vorbereitete Anweisung für ein Datenbanksystem.

Im Gegensatz zu gewöhnlichen Statements enthält es noch keine Parameterwerte. Stattdessen werden dem Datenbanksystem Platzhalter übergeben.

Verwendet eine Anwendung ausschließlich Prepared Statements, ist davon auszugehen, dass keine SQL Injection möglich ist, da das Datenbanksystem die Gültigkeit von Parametern prüft, bevor diese verarbeitet werden. Diese Maßnahme gegen SQL Injection ist aber nicht auf alle DBMS anwendbar.

Prepared Statements besitzen mehrere Vorteile gegenüber direkt ausgeführten SQL Statements. Die Anfrage muss nur einmal geparsed werden, welche dann mehrmals mit anderen Parametern ausgeführt werden kann. Bei der Vorbereitung analysiert und optimiert die Datenbank die Anfrage. Für komplexe und wiederholende Anfragen spart das Ressourcen, Bandbreite und Zeit, weil nur die Parameter und nicht die gesamte Query gesendet wird. Die Nutzereingaben bzw. die Parameter müssen nicht maskiert werden. Lediglich die SQL Query wird kompiliert und die Parameter als Variable gesehen, welche nie geparsed werden.

Beispiel eines Prepared Statement in PHP mit PHP Data Objects:

Prepared Statement in PHP

Quellen: https://de.wikipedia.org/wiki/Prepared_Statement