Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对数据库中的同一行进行多次更新_Php_Mysql_Telephony_Multiple Tables - Fatal编程技术网

Php 对数据库中的同一行进行多次更新

Php 对数据库中的同一行进行多次更新,php,mysql,telephony,multiple-tables,Php,Mysql,Telephony,Multiple Tables,我正在和一些朋友制作一个计费系统,它是这样工作的: 顾客打电话。 顾客们挂断了电话。 电话的价格是经过计算的。 通话的价格从客户的信用中扣除 我们决定作出以下决定: 获取用户的余额并将其存储在变量$balance中,然后执行$balance=$balance-$callprice,最后更新数据库 问题是,客户可以同时进行调用,如果两个调用同时完成,并且其中一个在另一个脚本更新新余额之前获取数据库中的值。。。其中一个电话将丢失。我正在使用php 知道我该怎么做吗 谢谢,对不起,我的英语很差…问题是

我正在和一些朋友制作一个计费系统,它是这样工作的: 顾客打电话。 顾客们挂断了电话。 电话的价格是经过计算的。 通话的价格从客户的信用中扣除

我们决定作出以下决定: 获取用户的余额并将其存储在变量$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=