Как исправить "свободную переменную 'db_username', на которую ссылаются перед присваиванием во входящей области - PullRequest
0 голосов
/ 07 мая 2019

я только начал изучать python и отлично умею создавать программы без графического интерфейса, но я работал с ними и без tkinter, мой код pymysql работает просто отлично, но когда я начал играть с tkinter, он не работал, как без него, на меня постоянно ссылаются до назначения независимо от того, сколько разных форматов \ организаций я пробовал, он все равно не будет работать, вот полный код "https://pastebin.com/04uFWB1R"

Как я уже сказал, он работает без графического интерфейса, но как только я попробую с графическим интерфейсом, он не будет работать

def lClick():
    __uID = uID.get()
    __uName = uName.get()
    __passW = passW.get()
    print(__uName)
    print(__passW)
    auth = Label(lWindow, text="Authorizing...",font=("Areial Bold", 10))
    auth.place(x=-10,y=99)
    time.sleep(0.5)
    time.sleep(1)
    def authorize():
        if __uID == "01":
            auth.configure(text='''
            User Authenticated...
            Accessing Database
            ''')
        ##############################################################
            def dbCon():
                con = pymysql.connect(host='192.***.***.**',
                    user='****',
                    password='******',
                    db='python1',
                    charset='utf8mb4',
                    cursorclass=pymysql.cursors.DictCursor)
                with con:
                    cur = con.cursor()
                    cur.execute("SELECT * FROM users WHERE 'id' = '{0}'".format(__uID))
                    rows = cur.fetchall()
                    for row in rows:
                        db_username = row['username']
                        db_password = row['password']
                def logon():
                    if __uName == db_username:
                        auth.configure(text="DataBase Connected")
                    else:
                        auth.configure(text="Error Has Occured")
                logon()
            dbCon()
        else:
            auth.configure(text="Not Authorized")
    authorize()

я пытаюсь выяснить, как исправить ошибку «переменная, на которую ссылаются перед присваиванием»

...