目的是使用 python 和 MySQLdb 检查电子邮件是否已存在于数据库中。我正在使用变量 mail 来存储电子邮件。MySQL 表单是电子邮件。我有以下代码:
if cursor.execute("select count(*) from registrants where email = " + "'"email2"'") == 0:
print "it doesn't exist!"
这句话有什么问题,或者我该怎么做?
目的是使用 python 和 MySQLdb 检查电子邮件是否已存在于数据库中。我正在使用变量 mail 来存储电子邮件。MySQL 表单是电子邮件。我有以下代码:
if cursor.execute("select count(*) from registrants where email = " + "'"email2"'") == 0:
print "it doesn't exist!"
这句话有什么问题,或者我该怎么做?
我几乎不知道从哪里开始。
仅仅在 Python 程序中输入一串 SQL 并不会以某种方式查询数据库。您实际上必须打开一个数据库连接、实例化一个游标、使用该游标运行 SQL 并获取结果。所有这些都在 MySQLdb 文档中进行了解释。
完成此操作后,您仍然需要将表单中的电子邮件参数实际传递给 SQL 语句,而您也没有这样做。
好吧,那是行不通的,因为那只是 mysql 查询字符串。您必须使用 mysql 客户端执行此查询接收结果和测试。使用pymysql将是这样的:
import pymysql
connection = pymysql.connect(host,user,password,database)
cursor = connection.cursor()
cursor.execute("select count(*) from registrants where email = ?") #you need to replace the ? with some actual value or the query will fail
result = cur.fetchone()
if result[0]==0:
print "E-mail does not exist!"