ホームページ > バックエンド開発 > PHPチュートリアル > PHPタイムスタンプのサンプル説明_PHPチュートリアル

PHPタイムスタンプのサンプル説明_PHPチュートリアル

WBOY
リリース: 2016-07-15 13:28:34
オリジナル
1349 人が閲覧しました

皆さん、私たちは必ずこの状況に遭遇します。銀行 A と銀行 B がほぼ同時にあなたの口座を開設し、あなたの口座に元の預金が 1,000 元あるのを確認し、その後、両銀行がそれをあなたの口座に追加したいと考えています。デポジット500元。次に、銀行 A が金額を 1,000 元から 1,500 元に変更し、同時に銀行 B も金額を 1,000 元から 1,500 元に変更します。それは良くないね!結局、銀行口座にあるはずの 2,000 元が 1,500 元しか残らないことになり、これは 500 元の損失に相当します。これは、データをロックせずに変更した場合に発生する深刻な問題です。ただし、この問題は PHP タイムスタンプを使用することでうまく解決できます。 アイデアを見てみましょう: 銀行口座テーブルに PHP タイムスタンプ フィールド timestamp を作成し、それをテキスト型 varchar に設定します。

銀行 A が口座テーブルの預金フィールドを読み取るとき、123456 などのタイムスタンプ フィールドも読み取ります。

銀行 A が預金額を変更して保存操作を実行すると、以前に読み取られたタイムスタンプ 123456 と現在のテーブルの PHP タイムスタンプが比較され、それらが一致する場合、保存が許可され、新しいタイムスタンプ (例: 456789) が生成されます。テーブル内の元のタイムスタンプ 123456。

これによりどのようなメリットが得られますか?

最初の状況を見てみましょう。銀行 A と銀行 B がほぼ同時にあなたの口座を開設し、あなたの口座に元の預金が 1,000 元あることを確認しました。同時に、2 つの銀行はタイムスタンプ 123456 を同時に読み取りました。次へ 違いがあります。銀行 A が 1,000 元を 1,500 元に変更してディスクを保存すると、システムは前のタイムスタンプ 123456 を比較して、保存時にテーブル内のタイムスタンプと一致するかどうかを確認します。現在は一貫性があるため、保存が許可され、古いタイムスタンプ 123456 を置き換える新しいタイムスタンプ 456789 が生成されます。次に、銀行 B も 1,000 元を 1,500 元に変更して保存しました。システムは、保存時にテーブル内のタイムスタンプと一致するかどうかを確認するために、以前のタイムスタンプ 123456 を比較しました。その結果、以前のタイムスタンプ 123456 が現在のタイムスタンプとは異なることがわかりました。 456789。システムは保存を拒否し、データの更新が必要になります。その後、銀行 A が以前に 500 元を入金したため、1,000 元が 1,500 元になり、銀行 B は 1,500 元を 2,000 元に変更して再度保存します。 . システムがそれを許可します。このようにして、データの繰り返し変更によって引き起こされるエラーを回避します。

ちょっと早口言葉のようですが、皆さんに私の言いたいことを理解していただければ幸いです~

最後に、PHP タイムスタンプのオペレーション コードをいくつか見てみましょう。

タイムスタンプを取得する

<ol class="dp-xml"><li class="alt">
<span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute-value><FONT color=#0000ff>time</FONT></SPAN><SPAN class=attribute><FONT color=#ff0000>timestamp</FONT></SPAN><SPAN>=time();   </SPAN></SPAN><LI class=alt><SPAN>echo $timestamp;   </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span>   </span>
</li></ol>
ログイン後にコピー

タイムスタンプを更新するための SQL ステートメント:

テーブル名を設定するフィールド名 = $timestamp 条件 = 値



http://www.bkjia.com/PHPjc/446425.html

本当http://www.bkjia.com/PHPjc/446425.html技術記事このような状況に必ず遭遇することは誰もが知っています。銀行 A と銀行 B がほぼ同時にあなたの口座を開設し、あなたの口座に元の預金が 1,000 元あるのを確認すると、両銀行がそれをあなたの口座に入金しようとします...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート