@char906

Почему телеграмм бот не выводит выводит инфу из базы данных?

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

def user_money(self, money):
        with self.connection:
            balans = self.cursor.execute('SELECT * FROM `subscriptions` WHERE `user_id` = ?',(money, )).fetchone()
            if balans is None:
                return False
            else:
                return balans

i = db.user_money(message.text)

bot.send_message(message.chat.id, 'Добро пожаловать, твой баланс '+str(i)+' {0.first_name}!\nЯ - <b>{1.first_name}</b>'.format(message.from_user, bot.get_me()),
        parse_mode='html', reply_markup=markup)


На выходе получаю всегда
Добро пожаловать, твой баланс False
хотя в базе данных на этой ячейке присвоено значение 50 (если убрать if и написать fetchall(), то на выводе просто [] )

Как я понял проблема в том что я неправильно пишу синтаксис SQL, есть огромное чувство что я туплю на ровном месте, вот только второй день уже не могу понять как это решить

Заранее спасибо за ответ!
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
@char906 Автор вопроса
Сделал вывод данных из БД.

Как оказалось надо было просто сменить:

i = db.user_money(message.text)
на
i = db.user_money(message.from_user.id)

Спасибо всем за помощь!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hottabxp
@hottabxp Куратор тега Python
Миллиардер. Честно, 100 пистонов!
Скорее всего ошибка в методе def user_money(self, money):
Скорее всего в метод надо передавать id пользователя, а не money.
Ответ написан
Ваш ответ на вопрос

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

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