python - 如何从烧瓶中的用户输入中获取表名?
问题描述
@app.route("/CreateAScheme",methods=['GET','POST'])
def CreateAScheme():
if request.method == 'POST':
userDetails = request.form
Scheme = userDetails['Scheme']
con = MySQL.connection.cursor()
con.execute("CREATE TABLE %s (id int NOT NULL AUTO_INCREMENT, Course varchar(255) NOT NULL, Year varchar(255), PRIMARY KEY(id));",(Scheme))
MySQL.connection.commit()
con.close()
flash("Succesfully Created")
return "Succesfully"
return render_template('index.html')
我收到一个错误“并非所有参数都在字符串格式化期间转换”
解决方案
只需将变量包装在括号中,就像您正在做的(Scheme)
那样什么都不做。
.execute()
需要一个参数元组,无论它是否只是一个 1 元组,即(Scheme,)
:
con.execute(
"CREATE TABLE %s (id int NOT NULL AUTO_INCREMENT, Course varchar(255) NOT NULL, Year varchar(255), PRIMARY KEY(id));",
(Scheme,)
)
推荐阅读
- python - 连接熊猫数据框
- terraform - 在资源创建中使用地图列表的地图
- vba - 由于格式错误,VBA 运行时错误 13
- php - 尽管进行了数小时的故障排除并且它是一个相对简单的程序,但我似乎无法让我的帖子表单在 PHP 中正常工作
- java - 用于openge连接问题的插件sonarqube
- php - PHP将带有空格的字符串数字转换为浮点数
- php - PHPMailer 在浏览器中工作,但不能作为 cron 工作
- javascript - 为什么“事件”在不将其作为参数传递的情况下起作用?
- prolog - 将字符列表转换为字符串列表,每个字符串在 Prolog 中包含 3 个字符
- scala - 为什么函数参数名称中不允许使用尾随下划线?