လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDO :: GOLDRANSATESATES ကိုအသုံးပြုနည်း။

PDO :: GOLDRANSATESATES ကိုအသုံးပြုနည်း။

gitbox 2025-08-11

ဒေတာဘေ့စ်လုပ်ငန်းများ၌ငွေပေးငွေယူစီမံခန့်ခွဲမှုသည်အလွန်အရေးကြီးသောအယူအဆတစ်ခုဖြစ်သည်။ PHP တွင် PDO (PHP Data Obserts) ကိုဒေတာ ဘေ့စ နှင့် အပြန်အလှန်ဆက်သွယ်နိုင်ရန်အတွက်သုံးစွဲနိုင်သည်။ ဤဆောင်းပါးသည်ငွေပေးချေမှုလည်ပတ်မှုကိုအကောင်အထည်ဖော်ရန် Rollback နှင့်ပေါင်းစပ်ပြီး PODATRANSATESATE ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။

1 ။ ငွေပေးငွေယူဆိုတာဘာလဲ။

ငွေပေးငွေယူသည်အောင်မြင်မှုသို့မဟုတ်ကျရှုံးခြင်းကိုဖြစ်စေစစ်ဆင်ရေးတစ်ခုစုဆောင်းခြင်းကိုရည်ညွှန်းသည်။ အရောင်းအ 0 ယ်များသည်ဒေတာဘေ့စ်လုပ်ငန်းများ၏ရှေ့နောက်ညီညွတ်မှုနှင့်သမာဓိရှိမှုကိုသေချာစေသည်။ ဒေတာဘေ့စ်စနစ်တစ်ခုတွင်အရက်ဘင်၏အခြေခံလက္ခဏာများကိုအက်စစ်ဖြင့်ဖော်ပြနိုင်သည်။

  • Utticity : ငွေပေးငွေယူတစ်ခုရှိစစ်ဆင်ရေးအားလုံးသည်ပြီးစီးခြင်းသို့မဟုတ်မလုပ်ဆောင်နိုင်ပါ။

  • ရှေ့နောက်ညီညွတ်မှု - ငွေပေးငွေယူတစ်ခု၏ကွပ်မျက်မှုသည်ဒေတာဘေ့စ်ကိုတသမတ်တည်းပြည်နယ်တစ်ခုမှအခြားတစ်ခုသို့ကူးပြောင်းခြင်းကိုဖြစ်စေလိမ့်မည်။

  • အထီးကျန်ခြင်း - အရောင်းအ 0 ယ်မျိုးစုံသည်တစ်ပြိုင်နက်တည်းလုပ်ဆောင်သောအခါငွေပေးငွေယူတစ်ခု၏ကွပ်မျက်ခြင်းကိုအခြားအရောင်းအ 0 ယ်များက 0 င်ရောက်စွက်ဖက်ခြင်းမပြုသင့်ပါ။

  • ကြာရှည်ခံမှု - ငွေပေးငွေယူသည်နှင့်တစ်ပြိုင်နက် database သို့ပြောင်းလဲခြင်းသည်အမြဲတမ်းကယ်တင်ခြင်းသို့ရောက်လိမ့်မည်။

2 ။ အရောင်းအများ၏အခြေခံစစ်ဆင်ရေး

PDO တွင်အရောင်းအ 0 ယ်လုပ်ငန်းများတွင်အောက်ပါတို့ပါ 0 င်သည်။

  • begintransaction () : ငွေပေးငွေယူကိုစတင်ပါ။

  • ကျူးလွန် () : ငွေပေးငွေယူ။

  • RollBack () : Rollback အရောင်းအ 0 ယ်များ။

ယေဘုယျအားဖြင့်ဒေတာဘေ့စ်စစ်ဆင်ရေးများအတွင်း, တစ်ခြေလှမ်းအမှားများပေါ်ပေါက်လာပါကငွေပေးချေမှုကိုပြန်လည်ရယူရန်နှင့်ယခင်စစ်ဆင်ရေးများကိုပြန်လည်ရုပ်သိမ်းရန် Rollback () နည်းလမ်းကိုသုံးနိုင်သည်။

3 ။ ဥပမာအားဖြင့် beginransacingaction () နှင့် Rollback ()

မှတ်တမ်းများကိုထည့်သွင်းခြင်း, မှတ်တမ်းများကိုမွမ်းမံခြင်းစသည့်ဒေတာဘေ့စ်လုပ်ငန်းမျိုးစုံပြုလုပ်ရန်လိုအပ်သည်ဆိုပါစို့။ စစ်ဆင်ရေးတစ်ခုမှမအောင်မြင်ပါက, ဤအချိန်တွင်ကျွန်ုပ်တို့သည် beginransaction () နှင့် Rollback () နည်းလမ်းများကိုသုံးနိုင်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-keyword">try</span></span><span> {
    </span><span><span class="hljs-comment">// ဖန်တီးPDOဆက်</span></span><span>
    </span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-string">'mysql:host=localhost;dbname=testdb'</span></span><span>, </span><span><span class="hljs-string">'username'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
    </span><span><span class="hljs-comment">// ချွင်းချက်မှအမှား mode ကိုသတ်မှတ်ပါ</span></span><span>
    </span><span><span class="hljs-variable">$pdo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">setAttribute</span></span><span>(PDO::</span><span><span class="hljs-variable constant_">ATTR_ERRMODE</span></span><span>, PDO::</span><span><span class="hljs-variable constant_">ERRMODE_EXCEPTION</span></span><span>);

    </span><span><span class="hljs-comment">// ငွေပေးငွေယူတစ်ခုစတင်ပါ</span></span><span>
    </span><span><span class="hljs-variable">$pdo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">beginTransaction</span></span><span>();

    </span><span><span class="hljs-comment">// ပထမတစ်ခု executeSQLခဲှစိတ်ကုသ</span></span><span>
    </span><span><span class="hljs-variable">$sql1</span></span><span> = </span><span><span class="hljs-string">"INSERT INTO users (username, email) VALUES ('john_doe', '[email protected]')"</span></span><span>;
    </span><span><span class="hljs-variable">$pdo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">exec</span></span><span>(</span><span><span class="hljs-variable">$sql1</span></span><span>);

    </span><span><span class="hljs-comment">// ဒုတိယ executeSQLခဲှစိတ်ကုသ</span></span><span>
    </span><span><span class="hljs-variable">$sql2</span></span><span> = </span><span><span class="hljs-string">"UPDATE accounts SET balance = balance - 100 WHERE username = 'john_doe'"</span></span><span>;
    </span><span><span class="hljs-variable">$pdo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">exec</span></span><span>(</span><span><span class="hljs-variable">$sql2</span></span><span>);

    </span><span><span class="hljs-comment">// အရာအားလုံးအဆင်ပြေလျှင်,တင်သွင်းမှုတင်သွင်း</span></span><span>
    </span><span><span class="hljs-variable">$pdo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">commit</span></span><span>();
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ငွေပေးငွေယူတင်သွင်းမှုအောင်မြင်သော!"</span></span><span>;

} </span><span><span class="hljs-keyword">catch</span></span><span> (</span><span><span class="hljs-built_in">Exception</span></span><span> </span><span><span class="hljs-variable">$e</span></span><span>) {
    </span><span><span class="hljs-comment">// အမှားတစ်ခုဖြစ်ပေါ်လျှင်,ပြန်အရောင်းအလှိမ့်</span></span><span>
    </span><span><span class="hljs-variable">$pdo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">rollBack</span></span><span>();
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ငွေပေးငွေယူ Loverback:"</span></span><span>, </span><span><span class="hljs-variable">$e</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4 ။ ကုဒ်စီးဆင်းမှုကိုရှင်းပြပါ

  1. PDO ဆက်သွယ်မှုကိုတည်ဆောက်ပါ ။ ပထမ ဦး စွာ MySQL ဒေတာဘေ့စ်ကို PDE မှတစ်ဆင့် MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ပြီးအမှားတစ်ခုဖြစ်ပေါ်သည့်အခါခြွင်းချက်တစ်ခုသို့ချွင်းချက်ချနိုင်ရန်အတွက်အမှားအယွင်းများ ကိုထည့်ပါ။

  2. ငွေပေးငွေယူတစ်ခုစတင်ပါ - $ pdo-> beginransaction () ကို ခေါ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ငွေပေးငွေယူတစ်ခုစတင်ရန် PDO ကိုကျွန်ုပ်တို့ပြောသည်။ ဤအချိန်တွင်ဒေတာဘေ့စ်လုပ်ငန်းများအားလုံးသည်ငွေပေးငွေယူစီမံခန့်ခွဲမှုအောက်တွင်ရှိသည်။ အကယ်. မည်သည့်စစ်ဆင်ရေးမအောင်မြင်ပါကအခြားစစ်ဆင်ရေးများကိုတင်သွင်းမည်မဟုတ်ပါ။

  3. SQL စစ်ဆင်ရေးကိုလုပ်ဆောင်ပါ

    • ပထမ SQL လည်ပတ်မှုသည်အသုံးပြုသူမှတ်တမ်းကိုထည့်သွင်းရန်ဖြစ်သည်။

    • ဒုတိယ SQL လည်ပတ်မှုသည်အသုံးပြုသူအကောင့်၏လက်ကျန်ငွေကိုမွမ်းမံရန်ဖြစ်သည်။

  4. ငွေပေးချေမှုကိုကျူးလွန်ပါက စစ်ဆင်ရေးအားလုံးအောင်မြင်ပါကလုပ်ငန်းများကိုဒေတာဘေ့စ်သို့အမြဲတမ်းသိမ်းဆည်းရန် $ pdo- ကျူးလွန် () () () () () () () () () ()) ကိုခေါ်ဆိုခြင်းဖြင့်ငွေပေးချေမှုကိုတင်သွင်းပါ

  5. Relloback ငွေပေးငွေယူ - ကွပ်မျက်မှုတွင် "ဒုတိယ SQL စစ်ဆင်ရေးပျက်ကွက်ခြင်းကဲ့သို့) ခြွင်းချက်တစ်ခုဖြစ်ပါက Catch block ရှိကုဒ်ကိုအစပျိုးပေးလိမ့်မည်။

5 ။ မှတ်စုဖို့အရာ

  • အရောင်းအ 0 ယ်များအဏုမြူမှု - BeginTransaction () ကိုအသုံးပြုပြီးနောက်ဒေတာဘေ့စ်လုပ်ငန်းများကိုတစ်ခုလုံးအဖြစ်သတ်မှတ်လိမ့်မည်။ အမှားတစ်ခုဖြစ်ပါက Rollback () သည် ငွေပေးငွေယူတစ်ခုလုံးကိုဒေတာရှေ့နောက်ညီညွတ်မှုရှိစေရန်ပြန်လည်ရုပ်သိမ်းနိုင်သည်။

  • ခြွင်းချက်ကိုင်တွယ်ခြင်း - စစ်ဆင်ရေးပျက်ကွက်သည့်အချိန်တွင်အရောင်းအ 0 ယ များကိုအချိန်မီပြန်လှိမ့်နိုင်အောင်ချွင်းချက်များဖမ်းယူနိုင်ရန်အတွက်ချွင်းချက်များကိုဖမ်းရန်သေချာပါစေ။

  • Multiple Definition operations : ငွေပေးချေမှုတစ်ခုတွင်စစ်ဆင်ရေးမျိုးစုံလုပ်ဆောင်သည့်အခါလုပ်ငန်းများအားလုံးသည်ငွေပေးငွေယူကိုမကျူးလွန်မီကာလပတ်လုံးအမှားအယွင်းများမပြုလုပ်နိုင်ပါ။

6 ။ အကျဉ်းချုပ်

PDO ၏ GAMATRANSANSANESANSANSENDATESTRANSANSANTESTRANTRANSANSATES () Roundback () နည်းလမ်းများမှတဆင့် PHP တွင်ငွေပေးချေမှုကိုထိရောက်စွာစီမံခန့်ခွဲနိုင်သည်။ ဤနည်းလမ်းသည်အခြေအနေမျိုးတွင်ဒေတာဘေ့စ်လုပ်ငန်းမျိုးစုံလိုအပ်သည့်နေရာများတွင်အလွန်အသုံးဝင်သည်, ငွေပေးငွေယူ Rollback သည်ဒေတာရှေ့နောက်မညီမှုများမှရှောင်ရှားနိုင်သည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    PDO