Как реализовать проверку строки sql на наличие входных данных?

Хочу реализовать систему регистрации и входа в аккаунт, но возникла проблема в проверке таблицы на наличие записей. нужно шаблонно подставить в условия определенные значения, но не могу разобраться как правильно.

try:
    check = cur.execute('''SELECT name, password FROM user WHERE name=? password=?''', self.login, self.password)
    if check:
        pass
except IOError:
    pass

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

Автор решения: Alexander Goryushkin

Для функции execute на месте аргумента необходимо указывать %s, а не ?.
Аргументы необходимо передавать кортежем или списком.
Но execute не возвращает данные, поэтому после запроса нужно получить их с помощью cur.fetchone() или cur.fetchall().

Таким образом правильный запрос будет выглядеть как:

cur.execute('''SELECT name, password FROM user WHERE name=%s password=%s''', [self.login, self.password])
user = cur.fetchone() # None или кортеж с данными
→ Ссылка