Помогите со сравнением айди юзера и айди юзера из БД SQLite
Я сделал БДшку, в которую по команде я могу добавить айди юзера и это айди туда сохраняется. Но когда я пытаюсь вызвать айди юзера из БДшки и сравнить его с айди юзера из чата, он не проверяет его, айди в БД есть, а проверка говорит, что всё в порядке.
Код из db.py
import sqlite3
cursor.execute("CREATE TABLE white(adduser_id INT)")
def get_users(adduser_id):
db = sqlite3.connect('data.db', check_same_thread=False)
cursor = db.cursor()
cursor.execute("SELECT adduser_id FROM white WHERE adduser_id=?", (adduser_id, ))
rows = cursor.fetchone()
print(rows)
return rows
Код проверки из main.py
@dp.message_handler(commands=['checkwhite'])
async def close_bot(message: types.Message):
if db.get_users_exist(message.chat.id) == True:
if message.chat.id == db.get_users(message.chat.id):
await bot.send_message(chat_id=message.chat.id, text='Добро пожаловать')
print(db.get_users(message.chat.id))
else:
await bot.send_message(chat_id=message.chat.id, text='у тебя нету прав')
print(db.get_users(message.chat.id))
Upd: на принты не обращайте внимание, я их добавил чтоб понимать, что видит БД
Ответы (1 шт):
Автор решения: Fith
→ Ссылка
Нашёл ответ на свою проблему, вместо:
rows = cursor.fetchone()
print(rows)
return rows
я поставил:
if cursor.fetchone() is None:
return False
else:
return True`
и всё заработало как следует.