我有一个这样的注册表:
<form action="{{url_for('app.register')}}" method="post">
<input type="text" placeholder="First Name" name="fname" required/><br><br>
<input type="text" placeholder="Last Name" name="lname" required/><br><br>
<input type="text" placeholder="username" name="user" required/><br>
<input type="password" placeholder="password" name="password" required/><br>
<input type="password" placeholder="confirm password" name="cpassword" required/><br><br>
<input type="text" placeholder="Email" name="email" required/><br><br>
<select id="soflow" name="selection" required >
<option value = "Default">Select a Security Question</option>
<option value = "What is your first school">What is your first school?</option>
<option value = "What is the name of your first pet">What is the name of your first pet?</option>
<option value = "What is your first car">What is your first car?</option>
</select><br><br>
<input type="text" placeholder="Security Answer" name="answer" required/><br>
<input type="submit" value="Sign Up">
</form>
我的 python 代码用于检索数据并将其插入数据库,如下所示:
db = MySQLdb.connect(host="localhost", user="root", passwd="", db="osn")
cur = db.cursor()
@blueprint.route('/register/', methods=['GET', 'POST'])
def register():
adduser()
return render_template('reg.html')
@blueprint.route('/adduser/', methods=['GET', 'POST'])
def adduser():
print("Entered")
try:
fname = request.form['fname']
lname = request.form['lname']
password = request.form['password']
username = request.form['user']
cpassword = request.form['cpassword']
email = request.form['email']
selection = request.form['selection']
answer = request.form['answer']
print fname,lname,password,username,cpassword,email,selection,answer
cur.execute("INSERT INTO 'login'('fname','lname','username','password','email','question','answer') VALUES (%s,%s,%s,%s,%s,%s,%s,%s)",(fname,lname,username,password,cpassword,email,selection,answer))
print "Registered"
except Exception as e:
return(str(e))
这里的问题是它正在执行到插入语句上面的打印语句,它没有显示任何错误,但没有插入数据。我到底哪里出错了。请考虑一下我是 Flask 新手。预先感谢:)
最佳答案
您的插入
已完成,但您尚未将数据提交
到数据库。因此,在您的 session 结束后,它会回滚。
根据 MySQL 的事务隔离策略,它可能永远不会对其他程序或事务可见。
关于mysql - Python Flask 将数据插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35172967/