php - 如何对数据库表资源加锁

标签 php mysql codeigniter

我正在构建一个金融网络应用程序,类似于电子银行应用程序。每当执行交易(例如资金转账)时,都会扣除交易费用,并通过查询当前余额并添加扣除的费用,然后最终更新余额字段来更新系统帐户的收入/余额。

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

最佳答案

codeigniter 中有事务。您可以引用Codeigniter Transaction

您可以用作

$this->db->trans_start();

您的疑问

$this->db->trans_complete();

关于php - 如何对数据库表资源加锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58536504/

相关文章:

php - 哪种变量设置方法更好?

php - 如何将输入字段数组插入 mysql

python从数据库值绘制图表

php - Codeigniter - 使用事件记录时处理错误

javascript - 在 Codeigniter 端访问 Ajax POST 变量时出现问题

php - 迁移后 CodeIgniter 空白屏幕

PHP 不发送 id

javascript - 无法将上传文件数组发送到 Laravel 中的 Controller

php - 连接两个不同的 MySQL 表

php - 绑定(bind)变量的数量与 sql "IN"的 token 数量不匹配