Du skal sende SQL-sætningen og parametrene som separate argumenter:
cursor.execute(loggit[0], loggit[1])
eller brug variabel argumentsyntaks (en splat, *
)
:
cursor.execute(*loggit)
Din version forsøger at sende en tuple, der indeholder SQL-sætningen og bindeparametre som det eneste argument, hvor .execute()
funktion forventer kun at finde SQL-sætningsstrengen.
Det er mere normalt at holde de to adskilte og måske kun gemme SQL-sætningen i en variabel:
loggit = """
INSERT INTO logger (logged_info, dummy)
VALUES
(%s, %s)
"""
cursor.execute(loggit, (bob, dummyVar))