Begge mv
og ml
vil ikke blive genkendt, da du ikke har defineret dem som variable.
Det andet argument for execute
statement er en ordbog, og alle elementerne i din almindelige forespørgsel "UPDATE client SET musicVol = :mv , messageVol = :ml"
undsluppet med et kolon søges efter i denne ordbogs nøgler. execute
metoden fandt ikke en nøgle 'mv'
heller ikke 'ml'
i denne ordbog, er der derfor rejst en fejl.
Dette er den korrekte version:
db.my_session.execute(
"UPDATE client SET musicVol = :mv, messageVol = :ml",
{'mv': music_volume, 'ml': message_volume}
)