gpt4 book ai didi

php - 跨多个脚本保持 PDO 提交或回滚事件

转载 作者:行者123 更新时间:2023-11-29 06:41:37 24 4
gpt4 key购买 nike

解释我的问题的最好方法是举个例子

假设我有 3 个脚本;

第一个是表单,提交后它会转到第二个脚本,该脚本处理 POST 变量并将它们插入到数据库中在此页面/脚本上有另一个提交按钮,它将带您到第三页,插入查询最终提交给数据库

这可能吗?

或者提交/回滚必须在同一个脚本上吗?

谢谢

最佳答案

是的,提交/回滚必须在启动事务的同一个请求中。

另一种看待这个问题的方式是,事务必须在同一个数据库连接中解决,并且数据库连接(像任何其他资源一样)不会在多个 PHP 请求中存在。

正如@Wrikken 评论的那样,您可以将未提交的数据保存在 session 数据或其他一些非数据库存储空间(例如 memcached)中。

另一种选择是在每次请求期间在数据库中保存和提交数据,但在表中添加一列来表示数据的状态。因此,它会针对数据库事务进行物理提交,但在您完成第三个脚本的处理之前,它会被注释为不完整。

我已经实现了这样的系统,例如“购物车”样式的信息。它还有助于运行每日 cron 作业以删除旧的、未完成的数据。因为不可避免地,人们有时确实会放弃正在进行的工作,而永远不会完成。

关于php - 跨多个脚本保持 PDO 提交或回滚事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com