比较 MySQL table 记录与用户在 PYTHON 中输入的值
Comparing MySQL table record with user entered value in PYTHON
在这里,我主要是尝试从 SQL Table 中获取一个字符串值,并且我想将该值与我输入的字符串进行比较。我尝试了这种简单的方法,但不幸的是,它不起作用。我需要帮助。
def cantkt():
#tkt()
#canstate=("DELETE FROM Chart WHERE PNR=%s"%canpnr)
canpnr=input("Enter PNR No. to Cancel Ticket: ")
mycsr.execute("SELECT PNR FROM Chart WHERE PNR=%s"%canpnr)
res=mycsr.fetchone()
print(res)
if res==canpnr:
print("PNR MATCHED")
else:
print("PNR No. DOES NOT MATCH")
正如您在打印中看到的那样,提取的结果是一个元组,而不是字符串。
你可以简单地这样做:
res = mycsr.fetchone()
if res: res = res[0]
解释:
res 是 ('1019654419', ) 所以你必须寻找你想要得到的值,在本例中是第一个。
在“if res: res = res[0]”中,我们检查 res 是否有值,因为如果票不存在,获取的值将是一个空元组,因此尝试获取第一个结果将引发一个索引错误。
在这里,我主要是尝试从 SQL Table 中获取一个字符串值,并且我想将该值与我输入的字符串进行比较。我尝试了这种简单的方法,但不幸的是,它不起作用。我需要帮助。
def cantkt():
#tkt()
#canstate=("DELETE FROM Chart WHERE PNR=%s"%canpnr)
canpnr=input("Enter PNR No. to Cancel Ticket: ")
mycsr.execute("SELECT PNR FROM Chart WHERE PNR=%s"%canpnr)
res=mycsr.fetchone()
print(res)
if res==canpnr:
print("PNR MATCHED")
else:
print("PNR No. DOES NOT MATCH")
正如您在打印中看到的那样,提取的结果是一个元组,而不是字符串。
你可以简单地这样做:
res = mycsr.fetchone()
if res: res = res[0]
解释:
res 是 ('1019654419', ) 所以你必须寻找你想要得到的值,在本例中是第一个。
在“if res: res = res[0]”中,我们检查 res 是否有值,因为如果票不存在,获取的值将是一个空元组,因此尝试获取第一个结果将引发一个索引错误。