« 第2回情報デザインフォーラム | トップページ | 情報B:Squeakで学ぶプログラミング(2) »

2008年11月16日 (日)

デジハリ081115

昨晩、19時~21時。PHP講座第11回目。

情報デザインフォーラムの懇親会を中座させていただき、元町駅からみなとみらい線で横浜に向かう。

本日の内容は、ショッピングカートで[注文確定]を押したときのトランザクション。[注文確定]すると、購入テーブルと購入詳細テーブルが更新される仕組みになっているが、もし、後処理のデータベース操作にミスが出た場合、2つのテーブルの整合性が取れなくなってしまう。

更新処理が成功した場合

これは成功した場合に遷移する画面。実際に、後処理のSQL文を意図的にスペルミスして実行すると、エラー画面(error.php)に遷移し、phpMyAdminでデータベースを表示すると、前処理の分だけ更新処理が行なわれていた。これを防ぐ機能の実習をした。

すでに3分の1の受講生がドロップアウトしている。分かりやすさと時間短縮のため、今回は、用意したソースコードに工夫をしてあった。トランザクション処理を行なうSQL文「bigin/rollback/commit」を空白にして、いずれかが入るとコメントをつけている。

もちろん、最初に入るのが「begin」。
081115php01_2

途中の条件分岐の中に幾度と出る、エラーの場合の「rollback」。
081115php02_2

問題がなければ確定するために「commit」。
081115php03_2

次回が最終回。

管理画面から、特定のメンバーの特定の月のデータを表示させて、このECサイトを終える。
そして、レンタルサーバでPHP+MySQLの環境を実現するための注意、という予告。


|

« 第2回情報デザインフォーラム | トップページ | 情報B:Squeakで学ぶプログラミング(2) »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: デジハリ081115:

« 第2回情報デザインフォーラム | トップページ | 情報B:Squeakで学ぶプログラミング(2) »