Задать вопрос
@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
  • Вопрос задан
  • 99 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 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.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы