如何防止同时多次执行 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/