Erstellen sicherer MySQL-IN-Klauseln mit Listen
Bei der Arbeit mit MySQL-Datenbanken und Python kann es nützlich sein, eine Liste zur Verwendung in zu implodieren eine IN-Klausel. Es ist jedoch wichtig, dies sicher zu tun, um SQL-Injection-Schwachstellen zu verhindern.
Anstatt manuell eine Zeichenfolge mit der Werteliste zu erstellen, ist die Verwendung des Abfrageparametermechanismus die bevorzugte Methode. Dadurch können Sie die Liste direkt an den Datenbanktreiber übergeben, ohne sich mit Anführungszeichen oder Escapezeichen befassen zu müssen.
So können Sie dies erreichen:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (" + format_strings + ")", tuple(list_of_ids))
Mit dieser Methode können Sie dies erreichen Vermeiden Sie SQL-Injection, indem Sie MySQL die Parametrisierung der Abfrage überlassen. Die Daten werden ohne Vorverarbeitung direkt in die Abfrage eingefügt, was sowohl Sicherheit als auch Effizienz gewährleistet.
Das obige ist der detaillierte Inhalt vonWie erstelle ich sicher MySQL IN-Klauseln mit Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!