Heim >Datenbank >MySQL-Tutorial >Wie fügt ich mit Python Variablen sicher in SQL -Abfragen ein?

Wie fügt ich mit Python Variablen sicher in SQL -Abfragen ein?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-25 15:32:11277Durchsuche

How to Safely Insert Variables into SQL Queries Using Python?

Fügen Sie die Variable in Python ein, um Variablen in SQL Query

einzufügen.

Bei der Verarbeitung von Datenbankabfragen in Python sind in der Abfrageanweisung in der Regel Variablen erforderlich. Es muss jedoch so betrieben werden, um Grammatikfehler oder Sicherheitslücken zu verhindern.

Betrachten Sie den folgenden Python -Code:

<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>

in diesem Code ist var1 eine Ganzzahl, var2 und var3 sind String. Wenn Python jedoch versucht, den Namen var1, var2 und var3 als Teil des Abfragetextes selbst einzuschließen, wird es Probleme geben, was dazu führt, dass die Abfrage ungültig ist.

Um dieses Problem zu lösen, können Sie den von der Datenbank -API bereitgestellten Ersatzmechanismus verwenden. Das Folgende ist die Methode, um den Code neu zu schreiben, um das besetzte Symbol zu verwenden:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>

in diesem verbesserten Code:

  • Es stellt einen Platzhalter dar, der die Wiederaufladung ausfüllt. %s
  • ist ein Tupel, das einen Einfügungswert enthält.
  • (var1, var2, var3)
  • Durch die Übertragung des Wertes als Meta -Gruppengruppe verarbeitet die Datenbank -API die erforderlichen variablen Überweisungen und Referenzen, um die Kompatibilität mit der Datenbank sicherzustellen und potenzielle Sicherheitsrisiken zu verhindern.

Bitte beachten Sie, dass Sie für einen einzelnen Parameter eine Tuning -Gruppe mit Tail Comma haben müssen:

Vermeiden Sie zusätzlich die Verwendung des String -Formatformates (%) zum Einfügen von Variablen, da es Sicherheitslücken verursachen und dies nicht unterstützen kann.
<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s)", (var1,))</code>

Das obige ist der detaillierte Inhalt vonWie fügt ich mit Python Variablen sicher in SQL -Abfragen ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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