php - 如何防止同时执行多个 REST API?

标签 php mysql rest api

如何防止同时多次执行 REST API... 我有一个带有多个 MySQL 数据库操作的 REST API... 当同时从多个设备调用 API 时,这将使我在 REST API [PHP 文件] 中的 MySQL 操作出现一些问题...

我该如何解决这个问题? 有什么建议 ? 考虑..我是初学者

我的 REST API 代码:

<?php


    $receipt = $_POST["receipt"];
    $maxselect = $_POST["maxselect"];
    $user = $_POST["user"];
    $pass = $_POST["pass"];
    $trans = $_POST["trans"];
    include("dbConnect.php");

    $result=mysqli_query($conn,"SELECT emp_pass FROM emp WHERE emp_name ='$user'");

    $affected = mysqli_affected_rows($conn);
    if ($affected > 0) {
  #USER DETAILS MATCH
    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        $password = $row['emp_pass'];

    }
    }


    if(strcmp($pass, $password) !== 0)  {
        $response = false;
        echo json_encode($response);#encoding RESPONSE into a JSON and returning.
        mysqli_close($conn);
        exit();
    } 


    // $randomtime =rand(0,2000000);
    // usleep($randomtime);

    $check=mysqli_query($conn,"CALL saveReceipt('$maxselect','$receipt','$trans')");




    $response = true;
    echo json_encode($response);#encoding RESPONSE into a JSON and returning.
    mysqli_close($conn);
    exit();



    ?>

最佳答案

您可以创建锁定文件并在关键部分的开头写入标志并删除标志(或清空)。 但这是不寻常的模式) DB中的所有事务都遵循ACID原则。 他们都是孤立的)

关于php - 如何防止同时执行多个 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57648801/

相关文章:

php - Wordpress Jetpack 共享按钮在自定义主题上显示有趣

javascript - 将 javascript 变量传递给外部 php 文件

php - Laravel 5 中的 MethodNotAllowedHttpException

来自 2 个表的 MySQL COUNT

mysql - 使用变量时 WordPress 数据库查询 ($wpdb) 错误

django - 在 Django REST 框架中优化 SerializerMethodField 中的查询

php - 通过调用 PHP 脚本从 Javascript 更新数据库

php - php代码中的sql查询

java - Jersey POST 端点在 Websphere 7 上失败

java - Spring MVC 中特定路径变量的可能值列表