Php 对数据库中的同一行进行多次更新
我正在和一些朋友制作一个计费系统,它是这样工作的: 顾客打电话。 顾客们挂断了电话。 电话的价格是经过计算的。 通话的价格从客户的信用中扣除 我们决定作出以下决定: 获取用户的余额并将其存储在变量$balance中,然后执行$balance=$balance-$callprice,最后更新数据库 问题是,客户可以同时进行调用,如果两个调用同时完成,并且其中一个在另一个脚本更新新余额之前获取数据库中的值。。。其中一个电话将丢失。我正在使用php 知道我该怎么做吗Php 对数据库中的同一行进行多次更新,php,mysql,telephony,multiple-tables,Php,Mysql,Telephony,Multiple Tables,我正在和一些朋友制作一个计费系统,它是这样工作的: 顾客打电话。 顾客们挂断了电话。 电话的价格是经过计算的。 通话的价格从客户的信用中扣除 我们决定作出以下决定: 获取用户的余额并将其存储在变量$balance中,然后执行$balance=$balance-$callprice,最后更新数据库 问题是,客户可以同时进行调用,如果两个调用同时完成,并且其中一个在另一个脚本更新新余额之前获取数据库中的值。。。其中一个电话将丢失。我正在使用php 知道我该怎么做吗 谢谢,对不起,我的英语很差…问题是
谢谢,对不起,我的英语很差…问题是,您似乎试图使用两条SQL语句来更新用户余额:一条是选择用户余额,另一条是在使用PHP减去余额后更新用户余额 您可以在一次操作中完成所有操作,并消除比赛条件的可能性:
UPDATE users
SET balance = balance - <callprice here>
WHERE user_id = <user_id here>
更新用户
设置平衡=平衡-
其中,用户\u id=
问题在于,您似乎试图使用两条SQL语句来更新用户余额:一条是选择用户余额,另一条是使用PHP减去余额后更新用户余额
您可以在一次操作中完成所有操作,并消除比赛条件的可能性:
UPDATE users
SET balance = balance - <callprice here>
WHERE user_id = <user_id here>
更新用户
设置平衡=平衡-
其中,用户\u id=