如何准确检查表是否包含特定值?例如
if request.method == 'POST':
email = request.form.get("email")
cur = mysql.connection.cursor()
cur.execute("SELECT * from login_info")
data = cur.fetchall()
if email == data: # <--- I don''t know. This is what I want to know```
这里的data
变量将从cur.fetchall()
函数返回一个元组,如下所示
((1,'random_email1@mail.com','First_name1','Last_name1'),
(2,'random_email2@mail.com','First_name2','Last_name2'),
(3,'random_email3@mail.com','First_name3','Last_name3')...)
如果您需要查找具有特定电子邮件地址的行,我建议您为SQL命令执行此操作
email_query = "SELECT * FROM login_info WHERE email = %s"
values = (email)
cur.execute(email_query, values)
data = cur.fetchone()
#Assuming that there will be only one Row with the E-mail ID as the PRIMARY KEY
然后,数据元组将仅包含 SQL 表中的一行,如下所示(1,'random_email1@mail.com','First_name','Last_name')
在这里,您可以简单地使用data[1]
获取电子邮件地址值,这是电子邮件在元组中的位置。