Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Liste von IDs in einer MySQL-IN-Klausel sicher verwenden?
Implodierende Listen für sichere MySQL-IN-Klauseln
Um eine Liste von IDs in einer MySQL-IN-Klausel sicher zu verwenden und SQL-Injection zu vermeiden, verwenden Sie MySQL Parametrisierungsfunktionen, anstatt die Liste manuell zu implodieren und selbst zu entkommen.
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings, tuple(list_of_ids))
Dieser Ansatz hat mehrere Vorteile:
Beachten Sie, dass die Daten als Tupel von Werten übergeben werden. Dies ist sicher für die Verwendung in MySQL-Abfragen. Die Variable format_strings erstellt eine durch Kommas getrennte Liste von Platzhaltern für die Parameter.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste von IDs in einer MySQL-IN-Klausel sicher verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!