注文完了後、支払い処理業者から次の応答が返ってきました
Receipt_ID1, Order_ID1, Data_1
これらの値を同じシーケンスで MySQL テーブルに正常に挿入しました。しかし、互いに 1 ~ 2 秒以内に2 つの注文が実行されると、データ値 が間違った方法でテーブルに挿入されることがあります。データ値交換。次の結果が得られます
Receipt_ID1, Order_ID1, Data_2
Receipt_ID2, Order_ID2, Data_1
なぜこれが起こるのか、正しい領収書に正しいデータ値を確実に挿入するにはどうすればよいですか?
OK、これらは SQL ステートメントの実際のシーケンスです -
$new_order_id_query = "SHOW TABLE STATUS LIKE ORDERS";
$new_order_id = $row['Auto_increment'];
これが、Orders テーブルから新しい注文 ID を取得し、支払い処理業者に送信する方法です。次に、応答配列を受け取り、それを分解して、次のように単純な Insert ステートメントを実行します。
INSERT INTO Receipts Values(ReceiptID, OrderID, Data) Values ($Receipt_ID, $Order_ID, $Data);
それがそれをよりよく説明することを願っています!