c.execute("UPDATE Players SET %s = %d WHERE nick=%s",
(parts[1], int(parts[2]), parts[0]))
дает мне ошибкуПроблемы с выполняют параметры типа в MySQLdb
TypeError: %d format: a number is required, not str
Я знаю execute
должен принимать только %s
, но parts[2]
должен быть приведен к типу INT, becacuse это будет Int (вводится в качестве строка).
Так что, если я ставлю только %s
«с, конечно, приходит с этой ошибкой:
mysql_exceptions.ProgrammingError: (1064,
"You have an error in your SQL syntax; "
"check the manual that corresponds to your MySQL server version "
"for the right syntax to use near "
"''wins' = '450' WHERE nick='xan'' at line 1")
wins
Поскольку целое. Каково решение этой проблемы?
Благодаря Bernie, подставляя строки, а затем с помощью выполнения сделал трюк. Я знаю, что SQL-инъекция, использование этой части мягкого зарезервировано для админов! – nitrnitr
Приветствия, помощник. Счастливое кодирование. – bernie