猿问

有没有办法告诉用户输入错误?

我如何以一种方式编码,告诉我的用户输入在数据库中不可用?


这是我的代码:


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    Age

John        20

Amy         21

我如何编写代码,如果用户输入名称为 Jhn,并且在数据库表中找不到它,那么我会打印wrong username


目前如果我输入错误的名字,它仍然会继续下一个代码,打印年龄。它会打印一个空的年龄。


摇曳的蔷薇
浏览 107回答 1
1回答

梵蒂冈之花

如果找不到该名称,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 注入攻击敞开大门。
随时随地看视频慕课网APP

相关分类

Python
我要回答