Задать вопрос
KPoseidon
@KPoseidon
Шарпист с косяками

Почему в бд MySql не сохраняются данные?

Телеграм бот при "команды" фб должен отправлять на бд данные, но... они почему-то не сохраняются. Что я не так мог сделать?

if(message.text == "фб" or message.text == "Фб" or message.text == "ФБ" or message.text == "фБ"):
        db.RegisterNewUser(message.from_user.id, 100, 10, "Anonim")

отрывок из bot.py

import mysql.connector
from config import myDb

mycursor = myDb.cursor()


class MySqlRequest:
    def GetUserData(userId):
        sql = f"SELECT * FROM Players WHERE user_id = '{userId}'"
        mycursor.execute(sql)
        myresult = mycursor.fetchone()
        print(myresult)
        myDb.commit
    def RegisterNewUser(userId, dollars, fba_coins, nickname):
        sql = f"INSERT INTO Players (dollars, fba_coins, nickname, user_id) VALUES ('{dollars}', '{fba_coins}', '{nickname}', '{userId}')"
        mycursor.execute(sql)
        myDb.commit

код из mySqlConnector.py
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Во-первых, выражение myDb.commit ничего не делает. Тут видимо подразумевался вызов метода commit. Во-вторых, не надо использовать интерполяцию строк для формирования sql-запросов. В-третьих, не надо использовать глобальные переменные.
Ответ написан
@PavelMos
(message.text == "фб" or message.text == "Фб" or message.text == "ФБ" or message.text == "фБ") можно заменить на message.text.lower()=='фб'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 00:25
5000 руб./за проект
02 февр. 2025, в 00:18
1000 руб./за проект
01 февр. 2025, в 23:26
100000 руб./за проект