Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Vorbereitete Mysqli-Anweisung (SQL-Injection-Verhinderung)

Ihre mysqli-Logik scheint in Ordnung zu sein, es gibt einige Beispiele im PHP-Handbuch hier falls Sie sie noch nicht gesehen haben.

Warum wählen Sie die ID aus, wenn Sie sie nicht verbrauchen? Außerdem müssen Sie ein Ergebnis nicht wirklich binden, wenn nur eine Zeile in der vollständigen Ergebnismenge zurückgegeben wird, wie ich in diesem Fall annehme (ID ist ein eindeutiger Index in der Tabelle), verwenden Sie get_result stattdessen.

Die Verwendung von mysqli Prepare schützt vor allen gängigen Injection-Angriffen, aber nicht vor 0-Day-Style-Zeug, das es noch nicht zum Treiber geschafft hat.