လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQL_FETCE_ASTESOC နှင့် MySQL_Num_Rows တို့နှင့်ပေါင်းစပ်သည့်အတန်းအရေအတွက်ကိုထိရောက်စွာရယူနိုင်ပုံ။ အကောင်းဆုံးအလေ့အကျင့်မျှဝေခြင်း

MySQL_FETCE_ASTESOC နှင့် MySQL_Num_Rows တို့နှင့်ပေါင်းစပ်သည့်အတန်းအရေအတွက်ကိုထိရောက်စွာရယူနိုင်ပုံ။ အကောင်းဆုံးအလေ့အကျင့်မျှဝေခြင်း

gitbox 2025-09-28

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

1 ။ MySQL_FETCE_ASTESOC () နှင့် MySQL_Num_rows ၏အခြေခံအသုံးပြုမှု ()

ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့ပေါင်းစပ်ရမည်ကိုသင်မစတင်မီ၎င်းတို့၏လုပ်ဆောင်မှုများကိုအကျဉ်းချုပ်သုံးသပ်ခြင်း။

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

     <span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
    </span></span>
  • MySQL_Num_rows ($ ရလဒ်) - ရလဒ်အနေဖြင့်ရလာဒ်အရေအတွက်ကိုပြန်လည်ရောက်ရှိစေပြီး, ပုံမှန်အားဖြင့်မေးမြန်းမှုသည်အောင်မြင်မှုသည်အောင်မြင်ပြီးဒေတာများမရယူမှီသို့မဟုတ်ပြီးနောက်အချက်အလက်များ၏စုစုပေါင်းအရေအတွက်ကိုဆုံးဖြတ်ရန်ဆုံးဖြတ်ရန်အသုံးပြုသည်။

     <span><span><span class="hljs-variable">$num_rows</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_num_rows</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
    </span></span>

2 ။ ဘုံမှားယွင်းသောအသုံးပြုမှု

developer အတော်များများကဤလုပ်ဆောင်ချက်နှစ်ခုကိုအသုံးပြုသောအခါ MySQL_FETCUM_RAW_RAW_ROWs ( ) ကိုမခေါ်မီ MySQL_Fetch_rows ( ) ကိုမခေါ်မီဟုဆိုသည်။

3 ။ Row အရေအတွက်နှင့်ဒေတာများကိုထိရောက်စွာရယူရန်?

အထက်ပါပြ problem နာကိုဖြေရှင်းရန် MySQL_Num_rowrows () ကို ဦး စွာခေါ်ဆိုနိုင်ပြီးရလဒ်အတန်းအရေအတွက်အတန်းကိုရရှိရန်အတွက် MySQL_FETCH_ATESOC () ကိုသုံးနိုင်သည်။ အဓိကသော့ချက်မှာ cursor (pointer) ကိုမည်သို့စီမံရမည်နည်း။ ဤတွင်အများအပြားဘုံနှင့်ထိရောက်သောအလေ့အကျင့်ရှိပါတယ်။

1 ။ ပထမ ဦး စွာအတန်းအရေအတွက်ကိုတွက်ချက်ပါ, ထို့နောက်ရလဒ်ကို travers

အသုံးအများဆုံးနည်းလမ်းမှာ MySQL_FETCE_ASTCH_ATECT_AST () ကို သုံးရန်ဖြစ်သည်။ ဤနည်းလမ်း၏အားသာချက်မှာအချက်အလက်စုစုပေါင်းပမာဏကိုပထမ ဦး ဆုံးဆုံးဖြတ်ရန်ဖြစ်သည်။

 <span><span><span class="hljs-variable">$query</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM users"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-variable">$query</span></span><span>);

</span><span><span class="hljs-variable">$num_rows</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_num_rows</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>); </span><span><span class="hljs-comment">// ပထမ ဦး ဆုံးအတန်းအရေအတွက်ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါစုံစမ်းမှုရလဒ်များရှိသည် <span class="hljs-subst">{$num_rows}</span></span></span><span> လိုင်းဒေတာ。";

</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
    </span><span><span class="hljs-comment">// 处理每一လိုင်းဒေတာ</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-variable">$row</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
}
</span></span>

ဤအချိန်တွင် MySQL_Num_rows () သည် စုစုပေါင်းအတန်းအရေအတွက်ကိုပထမ ဦး ဆုံးတွက်ချက်သည်။ ဤကိစ္စတွင်ရလဒ်အနေဖြင့် Pointer သည် MySQL_FETCE_RATE () ကို ခေါ်ယူပြီးနောက် MySQL_Num_rows () မှပေးသောအတန်းအရေအတွက်ကို အသုံးပြု. MySQL_Num_rows () မှပေးသောအတန်းများကအသုံးပြုသည်။

2 ။ MySQL_FETCE_ASTCH_ALT_ALT_ALT_ASTE () ကိုသုံးပါ

ရလဒ်များကိုဖြတ်သန်းစဉ်အတန်းအရေအတွက်ကိုသင်တွက်ချက်ရန်လိုအပ်ပါက MySQL_Num_rows ( ) ကိုမှီခိုခြင်းမရှိဘဲ MySQL_FETCH_ATESOC ( ) တွင်တိုက်ရိုက်ရေတွက်နိုင်သည်။ ဤချဉ်းကပ်နည်းသည်ဒေတာဘေ့စ်မှပြန်လာသောအတန်းအရေအတွက်ကိုဂရုမစိုက်သူနှင့်သင်နှင့်သက်ဆိုင်သည်။ သို့သော်ဒေတာ၏အပြောင်းအလဲအတွက်သာဂရုစိုက်သည်။

 <span><span><span class="hljs-variable">$query</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM users"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-variable">$query</span></span><span>);

</span><span><span class="hljs-variable">$row_count</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;  </span><span><span class="hljs-comment">// ရေတွက်အတွက်အသုံးပြုခဲ့သည်</span></span><span>
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
    </span><span><span class="hljs-comment">// တစ်ခုချင်းစီကိုအတန်းဖတ်သည်,တ ဦး တည်းရေတွက်</span></span><span>
    </span><span><span class="hljs-variable">$row_count</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-variable">$row</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါစုံစမ်းမှုရလဒ်များရှိသည် <span class="hljs-subst">{$row_count}</span></span></span><span> လိုင်းဒေတာ。";
</span></span>

ဤနည်းလမ်းတွင်ဒေတာအတန်းတစ်ခုစီကို MySQL_FETT_ATECT_ALTOUC () မှတစ်ဆင့်ယူပြီးပုံမှန်အားဖြင့် ဒေါ်လာ Row_count variable မှတစ်ဆင့်ယူထားသောစွမ်းဆောင်ရည်ကိုဖြတ်သန်းသွားသောကြောင့် MySQL_Num_rows () မှ ထုတ်လွှင့်သောဝန်ထုပ်ဝန်ပိုးကိုရှောင်ရှားရန်။

3 ။ ထိရောက်စွာကြီးမားသောဒေတာအစုများ (ကြိုတင်သတ်မှတ်ထားသောအတန်းအရေအတွက်ကိုတွက်ချက်ခြင်းကိုရှောင်ကြဉ်ပါ)

Completing Prowning Rights အရေအတွက်သည်အလွန်ကြီးမားသောဒေတာအစုများနှင့်အလုပ်လုပ်စဉ်စွမ်းဆောင်ရည်ဝန်ထုပ်ဝန်ပိုးဖြစ်နိုင်သည်။ ထိရောက်မှုတိုးတက်စေရန်အတွက်အချက်အလက်များကိုမဖတ်မီအတန်းအရေအတွက်ကိုရေတွက်ခြင်းမှရှောင်ရှားခြင်းသည်အကောင်းဆုံးဖြစ်သော်လည်းအချက်အလက်များကိုတိုက်ရိုက်လုပ်ဆောင်ရန်ဖြစ်သည်။ MySQL_FETCE_APET_AST_AST_AST_ALT_AST () ကို သုံး. data loops များကို dynamically rows အရေအတွက်ကိုတွက်ချက်နိုင်သည်။

 <span><span><span class="hljs-variable">$query</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM users"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-variable">$query</span></span><span>);

</span><span><span class="hljs-variable">$row_count</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
    </span><span><span class="hljs-variable">$row_count</span></span><span>++;
    </span><span><span class="hljs-comment">// အချက်အလက်များကိုထုတ်ယူခြင်း</span></span><span>
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စုစုပေါင်းရှိပါတယ် <span class="hljs-subst">{$row_count}</span></span></span><span> လိုင်းဒေတာ。";
</span></span>

ဤချဉ်းကပ်မှု၏အားသာချက်မှာအထူးသဖြင့်ကြီးမားသောဒေတာပမာဏကိုရှာဖွေခြင်းမပြုဘဲဒေတာများကိုတိုက်ရိုက်လုပ်ဆောင်ခြင်းမရှိဘဲအချက်အလက်များကိုတိုက်ရိုက်လုပ်ဆောင်ခြင်းကိုသိသိသာသာတိုးတက်စေရန်အတွက်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။

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

  1. MySQL_Num_rows သို့ခေါ်ဆိုမှုမျိုးစုံကိုရှောင်ကြဉ်ပါ ဒေတာများကို MySQL_FETCE_AFT_ATE_ASTESOC () အတန်းအစားစုစုပေါင်းအရေအတွက်မလိုအပ်ပါ။

  2. အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီအစီအစဉ်ကိုရွေးချယ်ပါ ။ အကယ်. သင်သည်အတန်းအရေအတွက်ကိုမေးမြန်းရန်လိုအပ်ပါက MySQL_Num_rows () ကို ပထမဆုံးခေါ်ဆိုနိုင်သည်။ ဒေတာအတန်းတစ်ခုချင်းစီကိုသင်လုပ်ဆောင်ရန်လိုအပ်ပါက MySQL_FETCE_ASTCH_ALTERC () မှတဆင့်၎င်းကိုအကောင်အထည်ဖော်နိုင်သည်။

  3. MySQL_Num_rows () ကို Datsets များအပေါ် သုံး. ရှောင်ကြဉ်ပါ ။ ကြိုတင်ပြင်ဆင်မှုရလဒ်များကိုကြိုတင်ပြင်ဆင်ထားသည့်အတန်းအရေအတွက်ကိုကြိုတင်သတ်မှတ်ထားခြင်းသည်မလိုအပ်ပါ။ ဒေတာကိုတိုက်ရိုက်ဖြတ်သန်းပြီးအချိန်မှန်အတွက်လုပ်ဆောင်ခြင်းသည်ပိုမိုထိရောက်သောချဉ်းကပ်နည်းဖြစ်သည်။

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