对一组数据的多个请求


Multiple requests to one set of data

我不完全确定如何表达,但是我的例子应该有所帮助。我遇到了以下问题:

拍卖中有3个竞标者:

  • 第一个出价1美元,他们的账户被扣除这个金额。
  • 第二个投标人出价$2,因此第一个投标人的出价被退还,而第二个投标人的余额被扣除。
  • 但是,退还第一个投标人的脚本还没有完成,第三个投标人发出了出价3美元的请求。
  • 由于脚本尚未完成,它仍然将第一个出价者作为最高出价者,因此开始再次退款。

在所有这些脚本执行完毕后,投标人1获得两次退款投标人2的投标刚刚消失

我使用mysql来存储投标信息,php来执行请求。

我听说数据库事务可能有帮助,但我不完全确定如何。

第二个脚本包含两个与数据库的交互。默认情况下,每个DB语句作为单个事务执行。在您的情况下,您需要将第二个脚本的交互作为单个事务进行。这可以防止第三个脚本(也应该作为单个事务运行)在第二个脚本完成之前启动。关于使用PHP和MySQL进行多语句事务的示例,请参见PHP + MySQL事务示例。