-1
@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')

我收到一个错误“并非所有参数都在字符串格式化期间转换”

4

2 回答 2

1

只需将变量包装在括号中,就像您正在做的(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,)
)
于 2020-04-20T12:43:17.457 回答
0
con.execute("CREATE TABLE %s (id int NOT NULL AUTO_INCREMENT, Course varchar(255) NOT NULL, Year varchar(255), PRIMARY KEY(id));" %(Scheme))

“只需使用常规百分比插值”

谢谢@AKX

于 2020-04-20T13:30:59.453 回答