Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过在Python MySQL中输入列名来选择单行?_Python_Mysql - Fatal编程技术网

如何通过在Python MySQL中输入列名来选择单行?

如何通过在Python MySQL中输入列名来选择单行?,python,mysql,Python,Mysql,我正在用Python和MySQL制作一个密码管理器。我希望能够输入服务的名称,并让它返回该服务的密码。这是我的密码: def returnPW(): pasret = str(input("PLEASE ENTER THE SERVICE OF THE PASSWORD YOU WANT TO RETURN: ")) sql2 = "SELECT passwords FROM passwords WHERE service = (%s)"

我正在用Python和MySQL制作一个密码管理器。我希望能够输入服务的名称,并让它返回该服务的密码。这是我的密码:

def returnPW():
    pasret = str(input("PLEASE ENTER THE SERVICE OF THE PASSWORD YOU WANT TO RETURN: "))
    sql2 = "SELECT passwords FROM passwords WHERE service = (%s)"
    c.execute(sql2, (pasret))
    for x in c:
        print(x)

这给了我一个错误,说我的MySQL语法不正确。正确的做法是什么?谢谢大家!

请发布完整的错误消息。
execute
的第二个参数必须是元组。将其更改为
c.execute(sql2,(pasret,)
@SvenEberth谢谢您的回复!下面是错误消息:“您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解在第1行“@SvenEberth”中“%s”附近使用的正确语法。非常感谢!额外的逗号起作用了。虽然此代码可以回答问题,但提供有关此代码为什么和/或如何回答问题的其他上下文可以提高其长期价值。
pasret = str(input("PLEASE ENTER THE SERVICE OF THE PASSWORD YOU WANT TO RETURN: "))
cursor.execute('SELECT `passwords` FROM `passwords` WHERE `service` =?',(pasret,))
result=cursor.fetchall()
for row in result:
    print(row)