-3

目的是使用 python 和 MySQLdb 检查电子邮件是否已存在于数据库中。我正在使用变量 mail 来存储电子邮件。MySQL 表单是电子邮件。我有以下代码:

if cursor.execute("select count(*) from registrants where email = " + "'"email2"'") == 0:
     print "it doesn't exist!"

这句话有什么问题,或者我该怎么做?

4

2 回答 2

3

我几乎不知道从哪里开始。

仅仅在 Python 程序中输入一串 SQL 并不会以某种方式查询数据库。您实际上必须打开一个数据库连接、实例化一个游标、使用该游标运行 SQL 并获取结果。所有这些都在 MySQLdb 文档中进行了解释。

完成此操作后,您仍然需要将表单中的电子邮件参数实际传递给 SQL 语句,而您也没有这样做。

于 2012-12-03T15:57:02.520 回答
0

好吧,那是行不通的,因为那只是 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!"
于 2012-12-03T15:57:55.700 回答