Heim >Backend-Entwicklung >Python-Tutorial >Wie behebt man „TypeError: Nicht alle Argumente werden während der Zeichenfolgenformatierung konvertiert' in parametrisierten SQL-Abfragen?

Wie behebt man „TypeError: Nicht alle Argumente werden während der Zeichenfolgenformatierung konvertiert' in parametrisierten SQL-Abfragen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 06:33:14223Durchsuche

How to Fix

Parametrisierte SQL-Abfragen: Auflösen von „TypeError: Not All Arguments Converted While String Formatting“

Bei parametrisierten SQL-Abfragen ist es wichtig, die Richtigkeit sicherzustellen Syntax und Datenkonvertierung, um Fehler zu vermeiden. Beim Versuch, die Zeichenfolgenformatierung in einer parametrisierten Abfrage zu verwenden, kann der Fehler „TypeError: not all arguments Converted while String Formatting“ auftreten.

Um dieses Problem zu beheben, vermeiden Sie die Verwendung von %s als Platzhalter für Argumente. Übergeben Sie stattdessen die Argumente als separate Liste an die Methodeexecute(). Beispiel:

import MySQLdb as mdb

class Test:
    def check(self, search):
        con = mdb.connect(...)
        cur = con.cursor()
        cur.execute("SELECT * FROM records WHERE email LIKE %s", [search])
        ...

Durch die Übergabe der Suche in einer Liste geben Sie ausdrücklich an, dass diese als separates Argument für die Konvertierung und Aufnahme in die Abfrage behandelt werden soll. Dieser Ansatz stellt sicher, dass alle Argumente ordnungsgemäß konvertiert und in der Abfrage verwendet werden.

Das obige ist der detaillierte Inhalt vonWie behebt man „TypeError: Nicht alle Argumente werden während der Zeichenfolgenformatierung konvertiert' in parametrisierten SQL-Abfragen?. 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