如何修复“在封闭范围内赋值之前引用的自由变量'db_username'”

时间:2019-05-07 17:19:51

标签: tkinter python-3.7 pymysql

我刚刚开始学习python,我非常擅长在没有GUI的情况下制作程序,但是我一直在使用它们,并且没有tkinter,我的pymysql代码也可以正常工作,但是当我开始玩tkinter时,它就像没有它一样工作了,我一直在引用在分配之前,无论尝试了多少种不同的格式\组织,它仍然无法正常工作,此处为完整代码“ https://pastebin.com/04uFWB1R

就像我说的那样,如果没有gui,它就可以正常工作,但是一旦我尝试使用gui,它就无法工作

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()

im试图找出解决“分配前引用的变量”错误的方法

0 个答案:

没有答案