Ошибка в твоем коде связана с тем, что метод execute в модуле sqlite3 ожидает два аргумента: SQL-запрос и кортеж параметров для замены ? в запросе. В твоем случае ты передаешь три аргумента, что вызывает TypeError. Чтобы исправить это, нужно объединить name и pasword в кортеж и передать его как второй аргумент. Правильный вариант будет выглядеть так:
cur.execute('SELECT * FROM Users WHERE username = ? AND pasword = ?', (name, pasword))
Здесь (name, pasword) — это кортеж, который передается как один аргумент. Ошибка возникла из-за того, что Python воспринял name и pasword как два отдельных аргумента, что не соответствует ожиданиям метода execute. Проверь свой код на такие моменты, когда работаешь с параметризованными запросами, чтобы избежать подобных ошибок.
File "c:\Users\user\Desktop\new folder\main.py", line 58, in <module>
main_func()
File "c:\Users\user\Desktop\new folder\main.py", line 53, in main_func
main.enters(name, pasword)
File "c:\Users\user\Desktop\new folder\main.py", line 38, in enters
cur.execute('SELECT * FROM Users WHERE username = ? AND pasword = ?', name, pasword)
TypeError: execute expected at most 2 arguments, got 3
место происхождения