Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.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_Codeigniter - Fatal编程技术网

Php 如何锁定数据库表资源

Php 如何锁定数据库表资源,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在构建一个金融web应用程序,有点像电子银行应用程序。每当执行交易(如资金转账)时,都会扣除交易费用,并通过查询当前余额和累计扣除的费用,最后更新余额字段,更新系统帐户的收入/余额 现在我的问题是,当多个交易(可能有200个)同时由不同帐户的不同用户执行时,系统中实际注册的收入余额与我预期的总收入余额之间存在差异。我相信这与服务器请求的异步性质或其他原因有关,如何防止这种情况发生???在codeigniter中存在事务。你可以参考 你可以用 $this->db->trans_st

我正在构建一个金融web应用程序,有点像电子银行应用程序。每当执行交易(如资金转账)时,都会扣除交易费用,并通过查询当前余额和累计扣除的费用,最后更新余额字段,更新系统帐户的收入/余额


现在我的问题是,当多个交易(可能有200个)同时由不同帐户的不同用户执行时,系统中实际注册的收入余额与我预期的总收入余额之间存在差异。我相信这与服务器请求的异步性质或其他原因有关,如何防止这种情况发生???

codeigniter
中存在事务。你可以参考

你可以用

$this->db->trans_start();
您的查询/查询

$this->db->trans_complete();

我实际上使用的是codeigniter事务,但这种情况正在发生。我认为使用事务的目的是确保与数据库操作相关的进程完整执行,或者在一个步骤失败时回滚。为了更好地澄清我的问题,如果我使用java,我当然会在多个线程中执行每个事务,但会同步更新主帐户余额的一个函数。是的,因为CI在
trans\u strict
(严格模式)中运行所有查询,如果你想的话,你也可以把它弄错。我相信这就是你要找的。耶,我相信这会成功的。正在尝试