U moet de SQL-instructie en de parameters als afzonderlijke argumenten doorgeven:
cursor.execute(loggit[0], loggit[1])
of gebruik de variabele argumentsyntaxis (een splat, *
)
:
cursor.execute(*loggit)
Uw versie probeert een tuple door te geven met de SQL-instructie en bindparameters als het enige argument, waarbij de .execute()
functie verwacht alleen de SQL-statementstring te vinden.
Het is gebruikelijker om de twee gescheiden te houden en misschien alleen de SQL-instructie in een variabele op te slaan:
loggit = """
INSERT INTO logger (logged_info, dummy)
VALUES
(%s, %s)
"""
cursor.execute(loggit, (bob, dummyVar))