所以我对Python不那么有经验,但是我真的很喜欢用它做东西。 我决定在我的一个项目中开始使用Python与MySQL进行交互。
我想编写一个函数,将用户名作为输入并返回密码作为输出。
这是我尝试做的事情:
def get_passwd(user_name):
user_passwd = mycursor.execute("SELECT passwd FROM users WHERE name = '%s'", (user_name))
print(user_passwd)
get_passwd("Jacob")
但这只是打印“无”。
我的桌子看起来像这样:
答案 0 :(得分:0)
不清楚您要使用哪个软件包来访问数据库。 假设是sqlalchemy,则缺少的是fetch命令。
所以您应该添加-
def get_passwd(user_name):
user_passwd = mycursor.execute("SELECT passwd FROM users WHERE name = '%s'", (user_name))
user_actual_passwd = user_passwd.fetchone()
print(user_actual_passwd)
get_passwd("Jacob")
查看更多here
**随着问题的更新而更新**
我将确保查询字符串是您所期望的。 做-
query = "SELECT passwd FROM users WHERE name = '%s'", (user_name)
print (query)
如果查询符合您的期望,请尝试直接在数据库上运行该查询,看看是否获得任何结果。
答案 1 :(得分:0)
代替
user_passwd = mycursor.execute("SELECT passwd FROM users WHERE name = '%s'", (user_name))
将某些内容用作
mycursor.execute("SELECT passwd FROM users WHERE name = '%s'", (user_name))
row = mycursor.fetchone()
user_passwd = row[0]