Variablenbindung in SQL-Anweisungen mit Python
In Python ist es wichtig, Variablen in SQL-Anweisungen zu übergeben, ohne sie als Teil der Abfrage einzuschließen Zeichenfolge. Dies verhindert SQL-Injection-Angriffe und stellt eine ordnungsgemäße Parameterbehandlung sicher.
Um dies zu erreichen, verwenden Sie die Methode „cursor.execute()“ mit Platzhaltern (z. B. %s für Zeichenfolgen, %d für Ganzzahlen und „%f“ für Gleitkommawerte), um die Variablen darzustellen.
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Beachten Sie, dass die Parameter für die Methodeexecute() ein Tupel sein müssen, auch wenn Sie einen einzelnen Wert übergeben. Um einen einzelnen Parameter anzugeben, verwenden Sie ein Tupel mit einem abschließenden Komma:
cursor.execute("INSERT INTO table VALUES (%s)", (var1,))
Die Datenbank-API kümmert sich um die ordnungsgemäße Escape- und Anführungszeichen von Variablen. Vermeiden Sie die Verwendung des String-Formatierungsoperators (%), da dieser weder Escapezeichen noch Anführungszeichen ausführt, wodurch die Anwendung anfällig für Angriffe wird. Darüber hinaus ist es wichtig, vorbereitete Anweisungen (wie die hier gezeigte) zu verwenden, anstatt Zeichenfolgen zum Erstellen der SQL-Anweisung zu verketten, da dies sowohl die Sicherheit als auch die Leistung verbessert.
Das obige ist der detaillierte Inhalt vonWie kann ich Variablen in SQL-Anweisungen mit Python sicher binden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!