请告诉我。
我正在尝试在 Flask 中进行授权和注册。注册结果并添加了用户。
现在我正在尝试进行身份验证。好吧,我检查数据库中是否有这样的电子邮件。到目前为止,为了测试,我使用 sqlite3 作为数据库。
为此,我使用以下代码:
def get_user_by_email(self, email):
try:
self.__cur.execute(f"SELECT * FROM users WHERE email = {email} LIMIT 1")
res = self.__cur.fetchone()
if not res:
print('Пользователь не найден')
return False
return res
except sqlite3.Error as e:
print(f'Ошибка получения email: {email} из БД: ' + str(e))
return False
当我尝试运行代码时,出现错误:
Ошибка получения email: 2@2.com из БД: near "@2": syntax error
无法弄清楚我做错了什么
您必须指定 email 是一个字符串,否则数据库认为它是一个变量。为此使用引号,即:
不是
{email},但是'{email}'所以数据库会明白这是一个字符串,你需要将其保存为字符串,而不是在其中查找变量