PHP Development တွင် MySQL_FET_ART_ARRAY သည်အသုံး 0 င်သော function တစ်ခုဖြစ်သည်။ သို့သော်အသုံးပြုမှုကာလအတွင်းသင်သည်ပုံမှန်အမှားများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဤဆောင်းပါးသည်ဤလုပ်ငန်းဆောင်တာများကိုပိုမိုကောင်းမွန်စွာနားလည်နိုင်ရန်အတွက်ဤဆောင်းပါးများနှင့်၎င်းတို့၏ရှောင်ရှားခြင်းနည်းလမ်းများကိုအသေးစိတ်ရှင်းပြပါမည်။
MySQL_FETCE_ARRARY သည် ခိုင်လုံသောစုံစမ်းမှုရလဒ်အရင်းအမြစ်များကိုလုပ်ဆောင်ရမည်။ အကယ်. သင်သည်မခေါ်မီ MySQL_QUERER ကို အောင်မြင်စွာမအောင်မြင်ပါကသို့မဟုတ်စုံစမ်းမှုကိုယ်တိုင်မအောင်မြင်ပါကလုပ်ဆောင်မှုသည်ကောင်းမွန်စွာအလုပ်လုပ်လိမ့်မည်မဟုတ်ပါ။
သာမန်အမှားဥပမာများ
<code>
$result = mysql_query("SELECT * FROM users");
if (!$result) {
die("စုံစမ်းမှုမအောင်မြင်ပါ: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo $row['username'];
}
</code>
အဲဒါကိုဘယ်လိုရှောင်ရှားရမလဲ:
စုံစမ်းမှုသည်အောင်မြင်သောရှာဖွေမှုသည်အောင်မြင်မှုမအောင်မြင်သော MySQL_FETCHT_ARRAY ကို မခေါ်ပါ။
MySQL_FETCHET_ARRAY ဟုခေါ်သောအခါတိုင်းရလဒ်အစုအဝေးတွင်နောက်လာမည့်အချက်အလက်များကိုပြန်လည်ပေးပို့လိမ့်မည်။ ရလဒ်အပြီးခေါ်ဆိုမှုသည်ကုန်လွန်သွားပါက မှားယွင်းစွာ ပြန်လာလိမ့်မည်။ အကယ်. ပြန်လာတန်ဖိုးကိုမှန်ကန်စွာမဆုံးဖြတ်ပါက၎င်းသည်မမှန်ကန်ကြောင်းလည်ပတ်မှုဖြစ်စေလိမ့်မည်။
ဥပမာ -
<code>
while ($row = mysql_fetch_array($result)) {
// အချက်အလက်များကိုထုတ်ယူခြင်း
}
// ထပ်မံခေါ်ပါ
$row = mysql_fetch_array($result); // ပြန်လာ false
echo $row['username']; // အမှားတစ်ခုသတင်းပို့ပါ:boolean value ကိုရယူရန်ကြိုးစားနေသည်
</code>
အဲဒါကိုဘယ်လိုရှောင်ရှားရမလဲ:
မမှန်ကန်တဲ့ဒေတာကိုလက်လှမ်းမမီ မှုကို ရှောင်ရှားရန်ဖုန်းခေါ်ဆိုခြင်း,
MySQL_FETCH_ARARAY သည် Associative Array, Numeric Index index ခင်းကျင်းမှုတစ်ခုသို့မဟုတ်နှစ်ခုပေါင်းစပ်နိုင်သည်။ ပုံသေသည်နှစ် ဦး စလုံးသည်အပိုမှတ်ဥာဏ်ကိုစားသုံးသည်။
ဥပမာ -
<code>
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo $row['username']; // Associative Array မှတဆင့်ဝင်ရောက်ခြင်း
</code>
အကယ်. သင် Associative Array ကိုသုံးလိုပါကရှင်းလင်းပြီးမှတ်ဉာဏ်ချွေတာသောဒုတိယ parameter mySql_asso တွင်ဖြတ်သန်းပါ။
MySQL_FETCH_ARRAY သည် PHP 5.5 မှထွက်ခွာသွားသည့် MySQL extension ဟောင်းကိုပိုင်ဆိုင်ပြီး PHP 7.0 ပြီးနောက်လုံးဝဖယ်ရှားခဲ့သည်။ ဆက်လက်အသုံးပြုရန် ဆက်လက်. သဟဇာတနှင့်လုံခြုံရေးပြ issues နာများကိုဖြစ်ပေါ်စေသည်။
အဲဒါကိုဘယ်လိုရှောင်ရှားရမလဲ -
ဥပမာ - MySQLI_FETCEARARY သို့မဟုတ် PDO ကိုသုံးရန်အကြံပြုသည်။
<code>
$mysqli = new mysqli("gitbox.net", "user", "password", "database");
$result = $mysqli->query("SELECT * FROM users");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
echo $row['username'];
}
</code>
သင်၏ SQL query တွင် URL domain names များဖြင့်ပြုလုပ်ရန်သို့မဟုတ်အစားထိုးရန်လိုအပ်ပါကအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်မှုများကိုရှောင်ရှားရန် GitBox.net ကို အသုံးပြုရန်သတိရပါ။
ဥပမာ -
<code>
$url = "http://gitbox.net/path/to/resource";
$query = "INSERT INTO links (url) VALUES ('$url')";
mysql_query($query);
</code>