လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQL_FETT_ART_ARRAY နှင့် foreach foreach ကိုအတူတကွအသုံးပြုရန်မှန်ကန်သောနည်းလမ်းများကားအဘယ်နည်း။

MySQL_FETT_ART_ARRAY နှင့် foreach foreach ကိုအတူတကွအသုံးပြုရန်မှန်ကန်သောနည်းလမ်းများကားအဘယ်နည်း။

gitbox 2025-05-29

1 ။ MySQL_FETCE_ARRAY ၏အခြေခံအသုံးပြုမှု

MySQL_FETCE_ARRAY function သည် array တစ်ခုအဖြစ်သတ်မှတ်ထားသည့်ရလဒ်မှအတန်းတစ်ခုဖြစ်ပြီး Association နှင့် index နှစ်ခုလုံးပါ 0 င်သည်။

 $result = mysql_query("SELECT * FROM users");
while ($row = mysql_fetch_array($result)) {
    print_r($row);
}

ဤတွင် $ အတန်း သည်ကွင်းဆက်တစ်ခုစီတွင်မှတ်တမ်းတစ်ခုရှိပြီးအမျိုးအစားတစ်ခုမှာ array တစ်ခုဖြစ်သည်။

2 ။ Fonteach သည် တစ်ခုတည်းမှတ်တမ်းများကိုဖြတ်သန်းသွားသည်

MySQL_FETT_ARRAY မှမှတ်တမ်းတစ်ခုရသောအခါသင်သည်များသောအားဖြင့် Fonteach ကို ဤအချက်အလက်နယ်ပယ်အားလုံးမှတစ်ဆင့်ဆက်သွယ်ရန်အသုံးပြုလေ့ရှိသည်။

 while ($row = mysql_fetch_array($result)) {
    foreach ($row as $key => $value) {
        echo "$key => $value<br>";
    }
}

ဒါကမှန်တယ်, ဘာဖြစ်လို့လဲဆိုတော့ $ အတန်း ကိုယ်နှိုက်က array ဖြစ်ပါတယ်။

3 ။ fonteach ကို query ကိုရလဒ်များအတွက်တိုက်ရိုက်မသုံးနိုင်ပါ

MySQL_FETCH_ARRAY သည်စံချိန်တစ်ခုတည်းပြန်ပို့ခြင်းနှင့် Query Reality အရင်းအမြစ်များအတွက် တိုက်ရိုက် ကိုတိုက်ရိုက်မသုံးနိုင်ပါ။

 foreach ($result as $row) {
    // မှားယွင်းသောအသုံးပြုမှု,$resultဒါဟာအရင်းအမြစ်တစ်ခုပါ,array မဟုတ်ပါဘူး
}

ဤစာအရေးအသားနည်းလမ်းသည်မှားပြီးအမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။

4 ။ မှန်ကန်သောပေါင်းစပ်နည်းလမ်း - ဒေတာအားလုံးကိုခင်းကျင်းထဲထည့်ရန်ကွင်းဆက် တစ်ခုကို ပထမ ဦး စွာအသုံးပြုပါ, ထို့နောက် fonteach ကိုဖြတ်သန်းရန်သုံးပါ

fonteach ကို traverse အားလုံးကိုဖြတ်သန်းရန်သင်အသုံးပြုလိုပါကအလေ့အကျင့်သည်ရလဒ်အားလုံးကိုဖတ်ရန်ဖြစ်သည်, ထို့နောက်ဖြတ်သန်းရန်ဖြစ်သည်။

 $rows = [];
while ($row = mysql_fetch_array($result)) {
    $rows[] = $row;
}

foreach ($rows as $record) {
    // တစ်ခုချင်းစီကိုမှတ်တမ်းတင်ပါ
    echo $record['username'] . "<br>";
}

ဤနည်းအားဖြင့် foreach ရှိမှတ်တမ်းအားလုံးကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။

5 ။ ဒေတာမလိုအပ်တဲ့ရှောင်ရှားရန် MySQL_AsSOC ကို သုံးပါ

MySQL_FETCH_ARRY မှပြန်လာသောခင်းကျင်းမှုသည်ပုံမှန်အားဖြင့်ကိန်းဂဏန်းများနှင့်ဆက်စပ်သည့်ညွှန်းကိန်းနှစ်ခုလုံးတွင် data restundancy ။ Associative Array များသာရရန်အကြံပြုသည်။

 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    // $rowသာသက်ဆိုင်တဲ့ arrays သာပါရှိသည်
}

ဤနည်းအားဖြင့်ခင်းကျင်းသည်ရိုးရှင်းလွယ်ကူပြီး fonteach traversal သည်ပိုမိုအဆင်ပြေသည်။

6 ။ နမူနာအပြည့်အဝကုဒ်

 <?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$link = mysql_connect("gitbox.net", "username", "password");
mysql_select_db("testdb", $link);

// ဒေတာရှာဖွေမှုဒေတာ
$result = mysql_query("SELECT id, username, email FROM users");

// ဒေတာအားလုံးကိုဖတ်ပါ
$rows = [];
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $rows[] = $row;
}

// အသုံးပြုforeachအားလုံးမှတ်တမ်းများမှတဆင့်ကြားမှာ
foreach ($rows as $record) {
    echo "အသုံးပြုသူID: " . $record['id'] . "<br>";
    echo "အသုံးပြုသူ名: " . $record['username'] . "<br>";
    echo "စာပို့: " . $record['email'] . "<br><hr>";
}

// ဆက်သွယ်မှုကိုပိတ်ပါ
mysql_close($link);
?>