我如何以一种方式编码,告诉我的用户输入在数据库中不可用?这是我的代码:def sql_getage(name): query = """\ select age from store where name = '{}' """.format(name) results = (execute_read_query (conn, query)) for i in results: theresult = str(i[0]) return (theresult)name = input("Please input your username")age = sql_getage(name)print("Your age is", age)我的数据库有 2 列:username AgeJohn 20Amy 21我如何编写代码,如果用户输入名称为 Jhn,并且在数据库表中找不到它,那么我会打印wrong username目前如果我输入错误的名字,它仍然会继续下一个代码,打印年龄。它会打印一个空的年龄。
1 回答

梵蒂冈之花
TA贡献1900条经验 获得超5个赞
如果找不到该名称,results将是一个空列表。您的函数可以检查这一点,在这种情况下返回None:
results = (execute_read_query (conn, query))
if not results:
return None
然后在调用代码中,您可以检查None返回值:
age = sql_getage(name)
if age is None:
print("Name not found")
else:
print("Your age is", age)
另外,请更改您的查询以使用参数而不是字符串格式来设置名称值。您正在为 SQL 注入攻击敞开大门。
添加回答
举报
0/150
提交
取消