私はあなたが私を助けることができるかもしれない問題を抱えています:
たとえば10-00で、PHP関数にajaxを使用して複数のリクエストがあります。
私のPHPファイル関数:
public function calculate(){
$result = DB::query('SELECT * FROM `results` WHERE `time` > DATE_SUB(NOW(), INTERVAL "25" SECOND) ORDER BY `gameid` DESC LIMIT 1');
if (intval($result->num_rows) > 0) {
return json_decode($result->fetch_object()->data);
} else {
/*RESULT CALCULATION CODE /*SELECT FROM `players`....*/
$publish_date = date("Y-m-d H:i:s");
$result = DB::prepare("INSERT INTO `results` (`data`, `time`) VALUES (?,?) ON DUPLICATE KEY UPDATE `data` = VALUES(data), `time` = VALUES(time)");
$result->bind_param("ss", json_encode($arr), $publish_date);
$result->execute();
$result->close();
DB::query('TRUNCATE TABLE `players`'); /*WE CLEAN TABLE HERE*/
return $arr;
}
}
したがって、私のクライアント リクエストの 1 つは、results
最初に結果を計算してテーブルに格納する必要があります。
他のリクエストは、results
新しい計算なしでテーブルから情報を取得する必要があります。この問題を解決するにはどうすればよいですか (LOCK TABLE???)? ありがとう!