MrShandy
@MrShandy
Python

Как вставить переменную в строку PyMySQL?

Вставляю в таблицу данные так:
cur.execute("INSERT INTO users_data (`user_id`, `name`) VALUES (%s, 'Канал %s');", (member.id, member.display_name,))

Проблема в том, что на выходе получается не 'Канал User_name', а 'Канал 'User_name''. Это вызывает ошибку
Ошибка
pymysql.err.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 'User_name'')' at line 1")
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
@galaxy
Формируйте нужное значение в параметрах. Закавычит PyMySQL сам:
cur.execute("INSERT INTO users_data (`user_id`, `name`) VALUES (%s, %s);", (member.id, 'Канал {}'.format(member.display_name))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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