@semen7907

Ошибка записи в БД?

Подскажите как исправить данную ошибку, мне нужно просто записать данные из переменных в БД

mycursor = mydb.cursor()
User = "test"
UserName= "test"
Number= "tes"

instr = "'%s', '%s', '%s'" % (User, UserName, Number)
sql = "insert into info (PC, User, UserName, Number) values ( NULL, %s, %s, %s)"
mycursor.execute(sql,instr )
mydb.commit()


Ошибка: : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '%s, %s, %s)' at line 1
  • Вопрос задан
  • 94 просмотра
Решения вопроса 2
total4c
@total4c
Говнокодер
Зачем создавать так много переменных?

mycursor.execute('''INSERT INTO INFO(User, UserName, Number) VALUES (%s, %s, %s)''' % (User, UserName, Number))
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Проблема в том, что вы не различаете операцию форматирование строки от передачи параметров в подготовленный запрос. Должно быть так: mycursor.execute(sql, (User, UserName, Number))

P.S. Соблюдайте PEP8.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы