Задать вопрос
@alwaystried

Почему mysql не принимает запрос?

Добрый вечер! Произошел мини-каверз - mysql не хочет принимать мой запрос, выдавая следующую ошибку:

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 ''1100******'' at line 1")


Суть кода в том, чтобы захватывать айди юзера телеграмм, когда он введет команду "start". После этого, бот переносит айди пользователя в БД. Но именно тут у меня происходит ошибка.

Код следующий:

await cur.execute("INSERT INTO users(teleid) values '{teled}'".format(teled = message.from_user.id))
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Средний 3 комментария
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Ошибка в синтаксисе SQL и грубое нарушение "правил хорошего кода" по работе субд. Как решить?
1.Выкинуть на помойку тот гайд, по которому вы учились работать с субд
2.Почитать про sql-инъекции и чем они опасны.
3. Открыть гугл/яндекс/ваш любимый поисковик и вставить:
mysql python prepared statement

4. Вникнуть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект