@kodbiprog

Ошибка в sqlite3 python?

Код:
elif message.text == ' Информация о профиле':
			db = sqlite3.connect('bot.db')
			sql = db.cursor()

			sql.execute("""CREATE TABLE IF NOT EXISTS users (
				login TEXT,
				password TEXT,
				tiktok TEXT,
				cash INT
			)""")
			db.commit()
			tiktok_name = "ihfjrwjwrjwrjewfjwefjwe"
			bot.send_message(message.chat.id, " Имя: {0.first_name}". format ( message. from_user , bot. get_me ( ) ))
			bot.send_message(message.chat.id, f" Ваш логин: {message.from_user.id}")
			sql.execute(f'UPDATE users SET tiktok = ? WHERE login = ?', (tiktok_name, message.from_user.id))
			db.commit()
			tik = sql.execute(f"SELECT tiktok from users WHERE login = '{message.from_user.id}'")
			bot.send_message(message.chat.id, f"ваш тикток: {tik}")
			balance = sql.execute(f"SELECT cash from users WHERE login = '{message.from_user.id}'").fetchone()[0]
			bot.send_message(message.chat.id, f" Ваш баланс: {balance} RUB ")\

Вместо текста, написанного в tiktok_name не выдаёт:
ваш тикток:
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@o5a
Для tik не использован fetchone(), так что в него запишется сам курсор, а не его данные. Но даже в таком случае он текстом должен был написать что-то типа <sqlite3.Cursor ...а не просто пустую строку.
Лучше сделать этот кусок так:
...
      user_info = sql.execute(f"SELECT tiktok, cash from users WHERE login = '{message.from_user.id}'").fetchone()
      if user_info:
          tik, balance = user_info
          bot.send_message(message.chat.id, f"ваш тикток: {tik}")
          bot.send_message(message.chat.id, f" Ваш баланс: {balance} RUB ")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mxrdxfxrrx
flstudio20, py3.x
Почему ты заменяешь тикток id из tiktok_name = "ihfjrwjwrjwrjewfjwefjwe" - ?, я не понимаю
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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