Загрузка...

Помогите с проблемой

Тема в разделе Backend создана пользователем verner262000 17 авг 2021. 274 просмотра

  1. verner262000
    verner262000 Автор темы 17 авг 2021 4 15 июн 2019
    Люди добрые, помогите с проблемой.

    Есть бд, где сохраняются user_id

    [IMG]

    Есть функции для записи и выборки:


    def add_user(self, chat_id):
    with self.con:
    self.cursor.execute("INSERT INTO `users` (`chat_id`) "
    "VALUES (?)",
    (chat_id,))



    def get_user(self, chat_id):
    with self.con:
    return self.cursor.execute("SELECT * FROM `users` WHERE `chat_id` == ?", (chat_id, )).fetchone()


    При попытки сделать проверку:


    if db.get_user(chat_id=message.from_user.id) is None:
    db.add_user(chat_id=message.from_user.id)
    await message.answer('.....')
    else:
    await message.answer("Ты уже здесь есть")
    await menu(message)


    происходит все время запись в бд. он записывает даже тогда, когда есть запись в бд. Объясните в чем тут ошибка
     
  2. Deprius
    Deprius 17 авг 2021 98 18 апр 2020
    def get_user(chat_id):
    con = sqlite3.connect("data.db")
    cur = con.cursor()
    cur.execute(f"SELECT COUNT(*) FROM users WHERE chat_id = {chat.id}")
    user = cur.fetchone()[0]
    return user
    -----------------------
    if user != 0:
    print("Пользователь уже есть")
    -----------------------
    P.S. Код лень было читать, думаю, разберёшься
     
    1. Посмотреть предыдущие комментарии (2)
    2. Кефтеме
      Deprius, удали, пока за f-string в sql-запросе тапками не запиздили.
  3. Кефтеме
    Кефтеме 17 авг 2021 1098 20 июл 2020
    Если записей нет, возвращается пустой список, а не None
     
  4. CrazzyRabbit
    CrazzyRabbit 8 сен 2021 Заблокирован(а) 173 4 сен 2021
    а ты хотябы пользователя проверял, существует ли он?
     
    1. verner262000 Автор темы
      CrazzyRabbit, я проверял свой акк. он записывал его в бд при любом раскладе
Загрузка...
Top