Heim > Backend-Entwicklung > Python-Tutorial > Warum löst meine parametrisierte MySQL-Abfrage einen „TypeError: Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert' aus?

Warum löst meine parametrisierte MySQL-Abfrage einen „TypeError: Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert' aus?

Linda Hamilton
Freigeben: 2024-12-03 04:58:09
Original
252 Leute haben es durchsucht

Why Does My Parameterized MySQL Query Throw a

Parametrierte SQL-Abfragen: Navigieren zu „TypeError: Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert“

In MySQLdb kann die Ausführung parametrisierter SQL-Abfragen dazu führen a „TypeError: Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert.“ Dieser Fehler tritt auf, wenn die Abfrage eine bestimmte Anzahl von Argumenten erwartet, die bereitgestellten Argumente jedoch nicht der Erwartung entsprechen.

Um diesen Fehler zu beheben, ersetzen Sie die alte Syntax durch einen moderneren Ansatz. Anstelle von:

cur.execute("SELECT * FROM records WHERE email LIKE '%s'", search)
Nach dem Login kopieren

Verwenden Sie diese Syntax:

cur.execute("SELECT * FROM records WHERE email LIKE %s", [search])
Nach dem Login kopieren

Der zweite Parameter inexecute() ist jetzt eine Liste mit den zu konvertierenden Argumenten. Jedes Argument in dieser Liste muss in den erwarteten Datentyp in der Abfrage konvertierbar sein. In diesem Fall erwartet die Abfrage eine Zeichenfolge, daher muss die Suche in eine Liste mit einem Element eingeschlossen werden.

Das obige ist der detaillierte Inhalt vonWarum löst meine parametrisierte MySQL-Abfrage einen „TypeError: Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert' aus?. 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