@kodbiprog

Как исправить ошибку в sqlite3 python?

Что бы я не вводил в Login, password и secret, то выдаёт, что такая запись уже имеется...
Login: 11
Password: 11
Secret: 11
Такая запись уже имеется!
('123', '123', 0)

Мой код:
import sqlite3

db = sqlite3.connect('server.db')
sql = db.cursor()

sql.execute("""CREATE TABLE IF NOT EXISTS users (
login TEXT,
password TEXT,
secret TEXT,
cash BIGINT
)""")

db.commit()

user_login = input('Login: ')
user_password = input('Password: ')
user_secret = input('Secret: ')

sql.execute("SELECT login FROM users")
if sql.fetchone() is None:
sql.execute("INSERT INTO users VALUES (?, ?, ?, ?)", (user_login, user_password, user_secret, 0))
db.commit()

print('Регистрация прошла успешно!')
else:
print('Такая запись уже имеется!')

for value in sql.execute("SELECT * FROM users"):
print(value)
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 2
@GeneD88
QA
Удали sql.execute("SELECT login FROM users") перед if
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
В запросе sql.execute("SELECT login FROM users") никакие данные из инпутов не применяются.

тогда уж так
sql.execute("SELECT 1 FROM users WHERE login = ?", (user_login,))
if sql.fetchone() is None:
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы