Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么不将其添加到数据库中?_Python_Html_Sql_Database_Flask - Fatal编程技术网

Python 为什么不将其添加到数据库中?

Python 为什么不将其添加到数据库中?,python,html,sql,database,flask,Python,Html,Sql,Database,Flask,没有任何表单响应被添加到数据库中。我不能帮你 我的生活会找出原因。有人能帮忙吗?您需要将更改提交到数据库。请参阅文档中关于设置会话的部分。使用会话进行更改。那就简单到 elif request.method == "POST": post = request.form.get("question") option_1 = request.form.get("option1rename") option_2 = request.form.get("option2rename

没有任何表单响应被添加到数据库中。我不能帮你
我的生活会找出原因。有人能帮忙吗?

您需要将更改提交到数据库。请参阅文档中关于设置会话的部分。使用会话进行更改。那就简单到

elif request.method == "POST":
    post = request.form.get("question")
    option_1 = request.form.get("option1rename")
    option_2 = request.form.get("option2rename")
    db.execute("INSERT INTO posts (question, option1, option2) VALUES(:post, 
        option1, :option2)", post=post, option1=option_1, option2 = option_2)
    new_post = db.execute("SELECT id FROM posts WHERE question = :post", 
        post=post)
    print(new_post)
如果不使用会话,也可以尝试使用

session.add(your_change)
session.commit()

但是我建议设置会话。

您需要将更改提交到数据库。请参阅文档中关于设置会话的部分。使用会话进行更改。那就简单到

elif request.method == "POST":
    post = request.form.get("question")
    option_1 = request.form.get("option1rename")
    option_2 = request.form.get("option2rename")
    db.execute("INSERT INTO posts (question, option1, option2) VALUES(:post, 
        option1, :option2)", post=post, option1=option_1, option2 = option_2)
    new_post = db.execute("SELECT id FROM posts WHERE question = :post", 
        post=post)
    print(new_post)
如果不使用会话,也可以尝试使用

session.add(your_change)
session.commit()

但我建议您设置会话。

您使用的是sqlite,所以您没有任何会话对象,如果您的请求参数和表字段都很好,则执行方法将插入到表中

db.execute('COMMIT')

您使用的是sqlite,所以并没有任何会话对象,若您的请求参数和表字段都很好,那个么执行方法将插入到表中

db.execute('COMMIT')
执行。。。不返回查询获取的行。事实上,根据,execute的返回值是未定义的,不同的数据库/库可能会有所不同

要从SELECT查询返回行,应迭代光标:

elif request.method == "POST":
    post = request.form.get("question")
    option_1 = request.form.get("option1rename")
    option_2 = request.form.get("option2rename")
    db.execute(
       """INSERT INTO posts (question, option1, option2) VALUES(%s, 
          %s, %s)"""%(post, option_1, option_2))
    new_post = db.execute("SELECT id FROM posts WHERE question=%s", post)
    print(new_post)
您也可以使用fetchone、fetchall和其他游标方法,但我发现通常使用for来迭代游标是最简单的。。。在里面循环。

db.execute。。。不返回查询获取的行。事实上,根据,execute的返回值是未定义的,不同的数据库/库可能会有所不同

要从SELECT查询返回行,应迭代光标:

elif request.method == "POST":
    post = request.form.get("question")
    option_1 = request.form.get("option1rename")
    option_2 = request.form.get("option2rename")
    db.execute(
       """INSERT INTO posts (question, option1, option2) VALUES(%s, 
          %s, %s)"""%(post, option_1, option_2))
    new_post = db.execute("SELECT id FROM posts WHERE question=%s", post)
    print(new_post)


您也可以使用fetchone、fetchall和其他游标方法,但我发现通常使用for来迭代游标是最简单的。。。在里面循环。

这是烧瓶吗?如果是,您需要添加flask标记您需要提交事务:什么意思?AttributeError:'SQL'对象没有属性'commit',您忘记了option1参数之前的:是这个flask吗?如果是这样,您需要添加flask标记您需要提交事务:什么意思?AttributeError:'SQL'对象没有属性'commit',您忘记了option1参数之前的:。我看到这样的情况:RuntimeError:sqlite3.OperationalError无法提交-没有活动的事务[SQL:'commit']我在其他地方读到,您不需要在python上提交?在python中提交是必要的。查看文档中关于设置会话的页面。这很简单,应该足够解决这个问题了。我看到了:RuntimeError:sqlite3.OperationalError无法提交-没有事务处于活动状态[SQL:“提交”],我在其他地方读到,您不需要在python上提交?在python中提交是必要的。查看文档中关于设置会话的页面。这很容易,而且应该足以解决这个问题。我很高兴看到我不需要承诺,因为这是我第一次听说,但你的建议没有解决它。我不确定出了什么问题,你有什么其他建议吗?表单数据是正确的,没有任何错误-应该有吗?你能尝试查询所有帖子从帖子中选择*吗?事实上,我看到了:RuntimeError:这个文本构造没有定义名为“option1”的绑定参数。你在做什么?你得到RuntimeError吗?我很困惑,我很高兴看到我不需要承诺,因为这是我第一次听到,但你的建议没有解决它。我不确定出了什么问题,你有什么其他建议吗?表单数据是正确的,没有任何错误-应该有吗?你能尝试查询所有帖子从帖子中选择*吗?事实上,我看到了:RuntimeError:这个文本构造没有定义名为“option1”的绑定参数。你在做什么?你得到RuntimeError吗?我很困惑