2
我的目標是檢查電子郵件是否已存在於mysql數據庫中。我將信息從網絡表單(字符串)拉入變量。目前,我有以下代碼:檢查MySQLdb中是否已經存在使用python的電子郵件
import MySQLdb
db = MySQLdb.connect("localhost","username","password","databasename")
cursor = db.cursor()
if cursor.execute("select count(*) from registrants where email = " + "'"emailvar"'") == 0:
print "it doesn't exist"
當我試圖訪問的頁面,我得到一個內部服務器錯誤。我將錯誤縮小到「'」emailvar「'」,代碼正常工作,但電子郵件有「@」和「。」。這會導致SQL語法錯誤。我試圖用開頭和結尾的圓括號來避開它們,但它不起作用並使網頁崩潰。
我得到錯誤: 內置下一= <內建功能下一個>,光標=,內建無=無 <類型 'exceptions.TypeError'>:光標對象是不是一個迭代器 args =('光標對象不是迭代器') message ='光標對象不是迭代器' –
@MichaelRocca哦 - 我忘了它的工作方式 - 嘗試'fetchone'而不是光標對象 –
@JonClements:我更正了代碼。我想你可能想把答案與預先準備好的陳述一起填充。 –