从 MySQL 表中选择与 Python 中指定的元组匹配的行

问题描述 投票:0回答:1

我实际上是一名学生,试图在我的项目中构建登录/注册功能。我在从 mysql 获取与 Python 中指定的基于输入的变量元组匹配的整行时收到错误,并且不确定如何继续。

详细说明:所以我的目的是以用户名和密码的形式获取用户的输入,然后将其与 MySQL 表中预先存在的行进行匹配。但我的代码似乎不起作用。

这是代码:

cursor.execute("SELECT * FROM user WHERE username, password LIKE '%s','%s'"%(username,password))
ecreds = cursor.fetchall()
if len(ecreds) == 1:
print("Login successful. Welcome, ")

谁能告诉我哪里错了?任何建议表示赞赏,谢谢。

谁能告诉我哪里错了?任何建议表示赞赏,谢谢。

python mysql mysql-python
1个回答
0
投票

这不是比较两列的方式。比较它们中的每一个并与

AND
合并。

cursor.execute("SELECT * FROM user WHERE username = %s AND password = %s", (username,password))

此外,使用准备好的语句而不是字符串格式来替换 SQL 中的变量。请参阅如何在Python中的SQL语句中使用变量?

© www.soinside.com 2019 - 2024. All rights reserved.