Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Python, mysql.connector Fehler:Kein Ergebnissatz zum Abrufen; cgitb zeigt den korrekten Wert, der an die Funktion übergeben wird

Sie rufen cursor.fetchall() zweimal auf. Das sollten Sie nicht tun.

Änderung:

row = cursor.fetchall()
results = len(cursor.fetchall())
clientName, clientAddr, unLocker = row[1], row[2], row[3]

An:

rows = cursor.fetchall()
results = len(rows) 
if results > 0:
    row = rows[0]
    clientName, clientAddr, unLocker = row[1], row[2], row[3]

Und obwohl es nichts mit Ihrem aktuellen Problem zu tun hat, sollten Sie eine parametrisierte Abfrage verwenden:

query = "SELECT * FROM sessionkeys WHERE clientName=?" 
cursor.execute(query, (value1,))