注册验证

时间:2019-04-06 20:04:36

标签: python-3.x

我正在尝试确保不会将重复的ID写入我的数据库。但是我的代码中存在一些逻辑错误,因为它似乎跳过了第二个TRY并停留在第一个EXCEPT中。 (aa变量是通过Tkinter表单从用户那里获得的ID)

我尝试转移代码。如果我不尝试验证重复的ID,效果很好。

def registeruser(aa,ab,ac,ad,af):

    print(aa.get())
    print(ab.get())
    print(ac.get())
    print(ad.get())
    print(af.get())

    import sys
    import mysql.connector as mc

    try:
        conn = mc.connect(host='localhost', user='root', password='', db='car_park_master')

    except mc.Error as e:
        print("Error %d: %s" % (e.args[0], e.args[1]))
        sys.exit(1)

    cursor = conn.cursor()
    cursor.execute("SELECT ID FROM permanent_user_info")
    checkID = cursor.fetchall()
    try:

        for x in checkID:
            if(aa.get()!=x[0]):
                try:
                    pram = (aa.get(), ab.get(), ac.get(), ad.get(), af.get())

                    sql_insert_query = """ INSERT INTO `permanent_user_info`
                                                  (`ID`, `name`, `address`, `phone`,`car_plate`) VALUES (%s,%s,%s,%s,%s)"""


                    result = cursor.execute(sql_insert_query, pram)
                    conn.commit()
                    cursor.close()
                    conn.close()
                except:
                    messagebox.showinfo('Register Error','Could not register user. Please try again.')
    except:
        messagebox.showinfo('Duplicate ID','This ID is already taken. Please try a different ID.')

应该采用这些值(aa-ID,ab-Name,ac-Phone,ad-carplate,af-tab)并输入到mysql表中。该部分工作正常,但无法验证是否要创建重复的ID。

0 个答案:

没有答案
相关问题