Bug with incorrect password when implementing login module with python and sql sever

background:

-sharp -*- coding: UTF-8 -*-
import socket               -sharp  socket 
import json
-sharpimport mysql.connector
import random
import threading
import os

-sharpmysql_config = {"user":"root","password":"root","host":"127.0.0.1"
-sharp  ,"port":"3306","database" :"droneuser","charset" :"utf8"}
-sharpconn = mysql.connector.connect(**mysql_config)
import pyodbc

conn =pyodbc.connect("DRIVER={SQL Server};SERVER=localhost;DATABASE=droneuser;UID=sa;PWD=1")
cursor =conn.cursor()



-sharpcursor=conn.cursor()


def login(username,keys):
    sql4 = "SELECT idj FROM dbo.users WHERE username = "%s";"%username
    cursor=conn.cursor()
    cursor.execute(sql4)
    result_a = cursor.fetchone()
-sharpfetchall,
    if result_a == []:
        return ""
    else:
        sql2 = "SELECT keys FROM dbo.users WHERE username = "%s";"%username
        cursor=conn.cursor()
        cursor.execute(sql2)
        result_b = cursor.fetchone()
        if result_b[0] == keys:
            for i in result_a:
                idj=i[0]
            m = idj*20-1
            n = (idj-1)*20
            suiji = random.randint(n,m)
            
            sql6 = "SELECT miyue FROM dbo.miyue WHERE id = "%s";"%suiji
            cursor=conn.cursor()
            cursor.execute(sql6)
            result = cursor.fetchone()
            miyues = result[0]
            miyue = miyues.split("|")
            
            tmp = ["control2.py","message.txt","../phone/confirm.txt","../control/privatekey.txt"]
            f2 = open(tmp[3], "w")
            f2.write(miyue)
            f2.close()
            return ""
        else:
            return ""

def logon(username,keys):
    pass
    sql5 = "SELECT count(idj) FROM users WHERE username = "%s""%username
    cursor=conn.cursor()
    cursor.execute(sql5)
    result_a = cursor.fetchone()
    if result_a[0] == 1:
        return ","
    else:
        sql1 = "SELECT max(idj) FROM dbo.users "
        cursor=conn.cursor()
        cursor.execute(sql1)
        result = cursor.fetchone()
        for i in result:
            idj = i+1
        sql3 = "INSERT INTO [dbo].[users] (username,keys,idj)values ("%s","%s","%s");"%(username,keys,idj)
        cursor.execute(sql3)
        for i in result:
            pass
        conn.commit()
        return "("%s")"%username

s = socket.socket()         
host = socket.gethostname() 
port = 12345                
s.bind((host, port))        

s.listen(5)                 

while True:
    c, addr = s.accept()    
    jieshou = c.recv(1024)
    msg = jieshou.split("|")
    if msg[0] == "login":
        huida = login(msg[1],msg[2])
        c.send("huida|%s"%huida)
    elif msg[0] == "logon":
        huida = logon(msg[1],msg[2])
        c.send("huida|%s"%huida)
    else:
        pass
    c.close()                -sharp 

Interface:

-sharp -*- coding: UTF-8 -*-

-sharp 
import socket
import threading
import os
from Tkinter import *   -sharpTk

"""def start"""
def fun_timer():
    tmp = ["control2.py","message.txt","./confirm.txt","privatekey.txt"]
    file_message = os.path.exists(tmp[2])
    -sharp print file_message
    if file_message == True:
        t.insert(END, "%s\n"%"")
    else:
        t.insert(END, "%s\n"%"")
    timer = threading.Timer(2,fun_timer)
    timer.start()
def login():
    username2 = username.get()
    keys2 = keys.get()
    s = socket.socket()         
    host = socket.gethostname() 
    port = 12345                
    s.connect((host, port))
    s.send("login|%s|%s"%(username2,keys2))
    huidas = s.recv(1024)
    huida = huidas.split("|")
    if huida[0] == "huida":
        t.delete("1.0",END)
        t.insert("1.0", "%s\n"%huida[1])
        if huida[1] == "":
            timer = threading.Timer(1,fun_timer)
            timer.start()
    s.close()

def logon():
    username2 =  username.get()
    keys2 = keys.get()
    s = socket.socket()        
    host = socket.gethostname() 
    port = 12345                
    s.connect((host, port))
    s.send("logon|%s|%s"%(username2,keys2))
    huidas = s.recv(1024)
    huida = huidas.split("|")
    if huida[0] == "huida":
        t.delete("1.0",END)
        t.insert("1.0", "%s\n"%huida[1])
    s.close()
"""def end"""

root = Tk()             -sharpTk()
root.colors = "-sharpDA70D6 Orchid"
root.title("phone login")
root.geometry("400x248")                 -sharpx *
root.resizable(width=True, height=True) -sharp, ,True


-sharp create a popup menu
menu2 = Menu(root, tearoff=0)
menu2.add_command(label="logon", command=logon)
menu2.add_command(label="login", command=login)
root.config(menu=menu2)

frm = Frame(root,bg="-sharpF17C67")
frm.pack()
frm1 = Frame(frm,bg="-sharpF17C67")
frm1.pack()
l1 = Label(frm1, text="username:", bg="-sharpF17C67", font=("Arial", 12), width=10, height=2)
l1.pack(side=LEFT)-sharpsideLEFT  RTGHT TOP  BOTTOM

username = StringVar()
e = Entry(frm1, textvariable = username)
username.set("")
e.config(bg ="-sharpF17C67")
e.pack(side=RIGHT)

frm2 = Frame(frm,bg="-sharpF17C67")
frm2.pack()
l2 = Label(frm2, text="keys:", bg="-sharpF17C67", font=("Arial", 12), width=10, height=2)
l2.pack(side=LEFT)  -sharp arial 

keys = StringVar()
e = Entry(frm2, textvariable = keys)
e.config(bg ="-sharpF17C67")
keys.set("")
e.pack(side=RIGHT)

frm3 = Frame(frm)
frm3.pack()
t = Text(frm3)
t.config(bg="-sharpF17C67")
t.pack()

root.mainloop()         -sharp
Dec.11,2021
Menu