Как вывести определенную запись в sqlite согласно условиям python + Telegram bot

У меня есть телеграм бот. Заранее скажу, что те кто используют моего бота есть в моей базе данных! У меня в боте есть кнопка "Оформить заказ✅" я пытаюсь сделать так, чтобы тот кто нажимал на эту кнопку проверился есть ли он(Его id) в БД и если есть то вывести запись где есть его id (Соответственно у меня кроме id в записи выйдет информация о nickname Имя, Фамилия, телефон и username)

Но когда я пытаюсь вывести эту информацию(запись) используя fetchone() то выводится только первая запись по умолчанию и она не реагирует на то, что, кто нажал на кнопку "Оформить заказ✅". А я хотел бы чтобы она выводила запись согласно id человека нажавшего на кнопку "Оформить заказ✅" то есть, если его id есть в БД то вывести запись(id username имя телефон и тп) где есть его id.

@bot.message_handler(content_types=['text'])
def handler(message):
    with sq.connect("bot5.db") as con:
        cur = con.cursor()

        chat_id = message.chat.id
        if message.text == "Оформить заказ✅":
            exists = cur.execute("SELECT 1 FROM info1 WHERE id = ?", [chat_id]).fetchone()
            if exists == True:
                print("DA")
                cur.execute(""" SELECT * FROM info1 WHERE id == chat_id """)
                data2 = cur.fetchone()
                print(data2)
                chat_id = message.chat.id
                bot.send_message(chat_id, '\n'.join(map(str, data2)))
  

Фото с моей базы данных

Фото с моей базы данных

P.S Смог сделать так, думаю проблема в том что я не могу правильно сделать так чтобы выводилась запись(информация) именно того кто нажал на кнопку "Оформить заказ✅" Несмотря на то что, кто нажимает на эту кнопку выводится только первая запись в базе данных!

введите сюда описание изображения


Ответы (2 шт):

Автор решения: MyZik

Попробуйте так:

@bot.message_handler(content_types=['text'])
def handler(message):
    with sq.connect("bot5.db") as con:
        cur = con.cursor()

        chat_id = message.from_user.id
        if message.text == "Оформить заказ✅":
            exists = cur.execute("SELECT * FROM info1 WHERE id = ?", [chat_id]).fetchone()
            if exists == True:
                print("DA")
                cur.execute(""" SELECT * FROM info1 WHERE id == chat_id """)
                data2 = cur.fetchone()
                print(data2)
                chat_id = message.chat.id
                bot.send_message(chat_id, '\n'.join(map(str, data2)))
→ Ссылка
Автор решения: SaNoKProG

Вот оно современное поколение бот-девелоперов... Эх...

Делаем так:

chat_id = call.message.chat.id
if message.text == "Оформить заказ✅":
    cur.execute(f'SELECT * FROM info1 WHERE id = "{chat_id}"')
    exists = cur.fetchall()
    if exists == True:
        print(exists)

→ Ссылка