【问题标题】:Rollback Database Update After Refreshing a Page (PHP)刷新页面后回滚数据库更新 (PHP)
【发布时间】:2019-04-09 23:39:45
【问题描述】:

我有一个 php 应用程序,用户可以使用adodb 对 oracle 数据库进行一些更改。

请求执行后,页面刷新,用户可以看到结果。

刷新页面后如何添加此 UPDATE 的撤消选项?

我试过beginTrans(),但是好像php脚本执行后会自动回滚。

【问题讨论】:

  • 在显示 HTML 输出时,PHP 脚本已停止执行。每次页面刷新都是一个新的数据库会话。如果您已经提交了更改,则必须实现自己的回滚逻辑
  • 那么我是否需要执行类似 UPDATE 的操作来取消我之前的 UPDATE?

标签: php sql oracle adodb


【解决方案1】:

数据库事务绑定到单个连接。当 PHP 脚本完成时,连接通常会关闭,并且尝试在多个请求中为同一用户建立连接将是非常有问题的。

尽可能将 HTTP 请求视为无状态的。这意味着,更改应该在每个请求结束时提交到数据库,并且 HTTP 中的撤消可能不应该与回滚先前的事务有关,但实际上也应该在数据库中提交更改。

【讨论】:

    猜你喜欢
    • 2012-02-08
    • 2013-03-14
    • 2016-12-24
    • 1970-01-01
    • 2011-06-05
    • 2012-01-08
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多