为了账号安全,请及时绑定邮箱和手机立即绑定

PHP / MySQL-在哪里可靠地处理插入自动重新请求(锁定表)-客户端还是服务器?

PHP / MySQL-在哪里可靠地处理插入自动重新请求(锁定表)-客户端还是服务器?

PHP
慕桂英546537 2021-04-29 18:25:13
我具有类似的功能,并且想要在失败的尝试时自动处理插入(取决于错误原因)-它必须是锁定条件。这是用于企业的应用程序,因此我不依赖客户端服务器之间的大量通信,但仍需要可靠地处理插入。我应该在哪里放置自动重新提交逻辑(api请求或实际的php代码中),以及如何实现它?public function createOne($params = []){        $sql = "insert            into actionitems(                    actionitemid,                    assignorid,                    ownerid,                    altownerid,                    duedate,                    ecd,                    criticality,                    actionitemtitle,                    actionitemstatement,                    closurecriteria            )            values(                    :actionitemid                    :assignorid,                    :ownerid,                    :altownerid,                    :duedate,                    :ecd,                    :criticality,                    :actionitemtitle,                    :actionitemstatement,                    :closurecriteria            )";    try    {                $this->db->beginTransaction();          $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);          $locksql = $this->db->query("lock tables actionitem write");          $statement = $this->db->prepare($sql);           $statement->execute([                ':actionitemid' => $params['actionitemid'],                ':assignorid' => $params['assignor'],                ':ownerid' =>  $params['owner'],                ':altownerid' => $params['altowner'],                ':duedate' => $params['duedate'],                ':ecd' => $params['ecd'],                      ':criticality' => $params['criticality'],                ':actionitemtitle' => $params['actionitemtitle'],                ':actionitemstatement' => $params['actionitemstatement'],                ':closurecriteria' => $params['closurecriteria'],          ]);           return json_encode(['Result' => 'Success'], JSON_PRETTY_PRINT);          $this->db->commit();    }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信