Я новичок
Я хочу предотвратить дублирование имен пользователей при каждой регистрации.
Вот мой код:
def submit(self):
username_info = username.get()
username_password = password.get()
#connect to db
db = mysql.connector.connect(host = 'localhost', user = 'root', password = '', database = 'user')
#create a cursor
mycursor = db.cursor()
#insert to db
sql = ("INSERT INTO useraccess (user_type, password) VALUES (%s, %s)")
query = (username_info, username_password)
mycursor.execute(sql, query)
#commit
db.commit()
#create a messagebox
messagebox.showinfo("Registration", "Successfully Register")
#if username has been used
find_user = ("SELECT * FROM useraccess WHERE user_type = ?")
user_query = (username_info)
mycursor.execute(find_user, user_query)
#if (username == username_info):
if mycursor.fetchall():
messagebox.showerror("Registration", "The username chosen is already used. Please select another username")
else:
messagebox.showinfo("Registration", "Account Created!")
Но каждый раз, когда я запускаю его, хотя имя пользователя было зарегистрировано в БД, на нем отображаются только успешно созданные сообщения и ошибка:
ValueError: Не удалось обработать параметры.
Кто-нибудь может помочь мне решить эту проблему?