PHP锁定事务

PHP锁定事务,php,locking,Php,Locking,我有一个PHP拍卖网站,我希望立即支付客户出价的任何金额(我将在以后退还所有未中标的出价)。假设我的物品目前是10美元,我有客户A和客户B 如果A出价15美元,那么我要求A立即输入他的信用卡信息,并从卡上收取15美元。在信用卡处理完成之前,该出价不算作出价 比如说,当A输入他的信用卡信息时,B也出价。A首先完成信用卡信息的输入,然后单击提交。如果B的出价低于或等于15,它会提示B类似“对不起,当你输入信用卡信息时,有人出价更高”。如果B的出价>15,那么它当然会从B的信用卡中收取该金额,最新的价

我有一个PHP拍卖网站,我希望立即支付客户出价的任何金额(我将在以后退还所有未中标的出价)。假设我的物品目前是10美元,我有客户A和客户B

如果A出价15美元,那么我要求A立即输入他的信用卡信息,并从卡上收取15美元。在信用卡处理完成之前,该出价不算作出价

比如说,当A输入他的信用卡信息时,B也出价。A首先完成信用卡信息的输入,然后单击提交。如果B的出价低于或等于15,它会提示B类似“对不起,当你输入信用卡信息时,有人出价更高”。如果B的出价>15,那么它当然会从B的信用卡中收取该金额,最新的价格是B的出价

现在我的问题是,在我的网站向a的卡发送收取15美元的请求期间(比方说Paypal),B不应该能够在同一时间付款(否则我们将向两个人的卡收取费用)。B必须等到A的付款完成后,我的服务器才能处理B的“提交付款”请求。当我的服务器处理请求时,它应该检查B的出价是否高于或低于A提交的最新付款(15美元)


因此,基本上我想“锁定”所有其他用户的“提交付款”功能,当A的付款发送到Paypal并等待Paypal的响应时。我怎样才能做到这一点

为此使用您的数据库。对于每个出价,创建一行;使用一个“状态”栏,包含例如1=输入的投标金额;2=已输入/正在验证抄送信息;3=中标。授权收费后(即状态2和3之间),进行查询以检查投标金额是否足够,然后才对CC收费(同时将状态更新为3)


如果由于其他人完成了更高的出价而被取代,则拒绝该出价。

如果出价上涨0.05美元怎么办?你会向我的卡收取0.05美元的费用,还是退还我原来的10美元的出价并收取10.05美元的费用?我们会跟踪你以前的出价,因此我们会收取0.05美元的费用。从消费者的角度来看,我会对我的账单上出现几十笔低于1美元的费用感到恼火。谢谢你的建议,这些项目通常价值很高,增量将在$100范围内。实际上php有symaphore,请看一看