python - Python MySQL不插入字符串变量
问题描述
我只是想在 html 中插入从表单中提取的两个值。也使用 Flask 和 mysql.connector
这是我的 index.html:
<h1>Simple Login Form</h1>
<form action="/signup" method="post">
<input type="text" name="username" required/>
<input type="password" name="password" required/>
<input type="submit"/> </form>
还有我在 python(app.py) 中的一行:
@app.route('/signup', methods=["POST"])
def signup():
username = str(request.form["username"])
password = str(request.form["password"])
cursor = mydb.cursor()
cursor.execute("INSERT INTO users (username, password) VALUES({},{})".format(username, password))
#cursor.execute("INSERT INTO users (username, password) VALUES('test','test')")
mydb.commit()
无论出于何种原因,我在执行第一个游标时出现内部服务器错误,但“#”游标代码工作正常......请有人告诉我这里哪里出错了。
解决方案
终于让它工作了,就像改变一样简单:
cursor.execute("INSERT INTO users (username, password) VALUES({},{})".format(username, password))
至:
cursor.execute("INSERT INTO users (username, password) VALUES('{}','{}')".format(username, password))
只需将 {}、{} 更改为 '{}'、'{}'
遗憾的是,没有其他方法对我有用,只有这种方法能给我所需的结果。
谢谢迈克斯科蒂
推荐阅读
- java - 如何使用 Selenium 默认启用地理位置?
- r - readOGR 和 st_read 的区别
- javascript - 当达到 0 时,我将如何在这里使用 clearInterval() 来停止计时器?
- c - sigaction 优先于信号功能吗?
- git - 如何在不使用 GUI 的情况下使用 Git CLI 打开拉取请求
- tensorflow-federated - 如何加载 ServerState.optimizer_state 以继续在 Tensorflow Federated 中进行训练
- google-cloud-platform - 从 GCP 快照启动 ISO - 如何?
- c++ - (C++) 我必须使用幻数在数组中的正确位置显示值。我怎样才能摆脱它?
- flutter - 在 for 循环中颤动小部件
- zeromq - 如何在 ac# 和 python 应用程序之间设置 ZeroMQ 请求-回复