Volgens de Python-databasespecificatie in PEP 249
, het formaat dat in een query wordt gebruikt om te laten zien waar de parameters moeten worden ingevoegd, hangt af van de paramstyle lid van de databasemodule:
- als het
qmarkis , gebruik?(vraagteken) - als het
numericis , gebruik:1,:2enz. (numeriek, positionele stijl) - als het
named. is , gebruik:name(benoemde stijl) - als het
formatis , gebruik%s(ANSI C printf formaat codes) - als het
pyformatis , gebruik%(name)s(Python-codes voor uitgebreid formaat)
AFAIR, MySQLdb gebruikt format , dus je moet je ? . vervangen met %s .(Als MySQLdb voorbereide instructies op de juiste manier zou gebruiken, zou het qmark zijn en ? was de juiste manier om te gaan.)