mysql)

qncylg1j  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(361)

所以我对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")

但它正在打印“无”。
我的table是这样的:

efzxgjgh

efzxgjgh1#

而不是

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]
uurity8g

uurity8g2#

目前尚不清楚您使用哪个软件包访问数据库。假设是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")

在这里看到更多

问题更新时更新

我会确保查询字符串是您所期望的。做-

query = "SELECT passwd FROM users WHERE name = '%s'", (user_name)
print (query)

如果查询是您所期望的,请尝试直接在db上运行它,看看是否得到任何结果。

相关问题