Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Variablen in Python SQL INSERT-Anweisungen sicher verwenden?

Wie kann ich Variablen in Python SQL INSERT-Anweisungen sicher verwenden?

Mary-Kate Olsen
Freigeben: 2025-01-01 03:13:09
Original
694 Leute haben es durchsucht

How Can I Safely Use Variables in Python SQL INSERT Statements?

Variablen in SQL-Anweisungen in Python verwenden

Beim Einfügen von Daten in eine SQL-Tabelle ist es wichtig, Parameter zu verwenden, um Variablenwerte sicher und sicher zu übergeben effektiv. Sehen wir uns an, wie man Variablennamen in Python-Code schreibt, ohne sie als Teil des Abfragetexts einzuschließen.

Betrachten Sie den folgenden Code:

cursor.execute("INSERT INTO table VALUES var1, var2, var3")
Nach dem Login kopieren

wobei var1 eine Ganzzahl ist und var2 und var3 es sind Saiten. Wie können Sie verhindern, dass Python diese Variablen in die Abfragezeichenfolge einbaut?

Lösung:

Um dies zu erreichen, übergeben Sie die Variablen als Tupel an die Methodeexecute():

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Nach dem Login kopieren

Erklärung:

  • Die %s Platzhalter stellen die Variablen dar, die in der Abfrage ersetzt werden.
  • Das Tupel (var1, var2, var3) liefert die tatsächlichen Werte für die Platzhalter.
  • Der Python-Code sieht jetzt wie eine Parameterersetzung aus Anweisung statt String-Manipulation.

Wichtig Hinweis:

Die Datenbank-API führt ordnungsgemäßes Escapen und Anführungszeichen von Variablen durch. Vermeiden Sie die Verwendung von String-Formatierungsoperatoren (%) für die Parameterersetzung, da diese:

  • keinen Escape- oder Anführungszeichenschutz bieten.
  • den Code anfällig für SQL-Injection-Angriffe machen.

Das obige ist der detaillierte Inhalt vonWie kann ich Variablen in Python SQL INSERT-Anweisungen sicher verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage