AttributeError: 'DictCursor' object has no attribute 'excute'
AttributeError: 'DictCursor' object has no attribute 'excute'
我创建了可以检查已经使用的用户或电子邮件的注册系统,但出现错误 AttributeError:'DictCursor' 对象没有属性 'excute' enter image description here
我使用 flask 框架和 python 请描述 DictCursor 属性或一些解决方案给我
###############insert value(register)##########
@app.route('/new',methods=['GET','POST'])
def user_value():
if request.method=='POST':
if "one" in request.form and "two" in request.form and "three" in request.form:
username = request.form['one']
email = request.form['two']
password = request.form['three']
cur = db.connection.cursor(MySQLdb.cursors.DictCursor)
###check DATA###
curs=cur.excute("SELECT * FROM my_db.user_accout WHERE username =%s AND email =%s",thwart(username, email))
if int(curs)>0:
flash("User and email already used")
return render_template("register.html")
else:
cur.execute("INSERT INTO my_db.user_accout(username,email,password) VALUES(%s,%s,%s)",(username,email,password))
db.connection.commit()
return redirect(url_for("index"))
return render_template("register.html")
######show IP in terminal(debugger)#####
if __name__ =='__main__':
app.run(debug=True)
您似乎混淆了两个不同的库。
import MySQLdb
和 from flask_mysqldb import MySQL
是两个不同的库。
由于您使用的是 flask
添加此行 app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
然后调用游标 cursor=db.connection.cursor()
应该可以解决您的问题。
我创建了可以检查已经使用的用户或电子邮件的注册系统,但出现错误 AttributeError:'DictCursor' 对象没有属性 'excute' enter image description here 我使用 flask 框架和 python 请描述 DictCursor 属性或一些解决方案给我
###############insert value(register)##########
@app.route('/new',methods=['GET','POST'])
def user_value():
if request.method=='POST':
if "one" in request.form and "two" in request.form and "three" in request.form:
username = request.form['one']
email = request.form['two']
password = request.form['three']
cur = db.connection.cursor(MySQLdb.cursors.DictCursor)
###check DATA###
curs=cur.excute("SELECT * FROM my_db.user_accout WHERE username =%s AND email =%s",thwart(username, email))
if int(curs)>0:
flash("User and email already used")
return render_template("register.html")
else:
cur.execute("INSERT INTO my_db.user_accout(username,email,password) VALUES(%s,%s,%s)",(username,email,password))
db.connection.commit()
return redirect(url_for("index"))
return render_template("register.html")
######show IP in terminal(debugger)#####
if __name__ =='__main__':
app.run(debug=True)
您似乎混淆了两个不同的库。
import MySQLdb
和 from flask_mysqldb import MySQL
是两个不同的库。
由于您使用的是 flask
添加此行 app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
然后调用游标 cursor=db.connection.cursor()
应该可以解决您的问题。