SQL Parametrierung vs. Escaping
-
08-10-2019 - |
Frage
Wenn Sie Ihre Sprache / Datenbank der Wahl hat eine eingebaute Funktion Benutzereingabe zu entkommen, (zB mysql_real_escape_string), was sind die Argumente für SQL Parametrierung? Ist es möglich, dass mysql_real_escape_string Macht, an einem gewissen Punkt, läßt eine Anwendung verwundbar?
Ich benutze Parametrisierung, weil ich gesagt habe / haben gelesen, es ist der bessere Weg zu gehen, aber ich will nicht einfach blind folgen. Einsicht? Dank!
Lösung
Argumente für die Parametrierung ist Leistung .
Wenn Sie jetzt den folgenden Satz mehrmals auszuführen:
insert into table (col1, col2) values (?, ?);
Es ist besser, Parameter zu verwenden, da die Abfrage ausgewertet wird nur werden (analysiert, Plananalyse und Berechnung) einmal, und viele Male ausgeführt werden.