Listen sicher in MySQL-IN-Klauseln einfügen
In diesem Artikel wird eine effiziente und sichere Methode zum Einfügen von Listen in IN-Klauseln in MySQL-Datenbanken untersucht. Während der herkömmliche Ansatz das Zuordnen von Listen zu Zeichenfolgen und deren direktes Einfügen beinhaltet, birgt diese Methode aufgrund der Notwendigkeit manueller Anführungszeichen und Escapezeichen das Risiko einer SQL-Injection.
Um diese Schwachstelle zu vermeiden, besteht ein sichererer Ansatz in der Verwendung von direkt als Parameter in der MySQL-Abfrage auflisten. Der folgende Code demonstriert diese Methode:
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 Code erreicht Folgendes:
Es ist wichtig, dass Beachten Sie, dass diese Methode von der Fähigkeit des MySQL-Treibers abhängt, Parameter sicher zu verarbeiten. Solange die Daten korrekt als Parameter übergeben werden, bleibt die Abfrage vor SQL-Injection geschützt.
Das obige ist der detaillierte Inhalt vonWie füge ich Listen sicher in MySQL IN-Klauseln ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!