MySQLI_Result :: Field_seek သည် MySQLI Object-Objected interface တွင် Field Pointers ကိုရွှေ့ရန်အသုံးပြုသောနည်းလမ်းဖြစ်သည်။ ၎င်း၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -
bool mysqli_result::field_seek(int $field_offset)
$ field_Offy သည် Field Pointer ကိုပြောင်းရွှေ့ခံရမည့်လယ်ကွင်းနံပါတ်ကိုညွှန်ပြပြီး sequence နံပါတ်သည် 0 မှစတင်သည်။
ပြန်လာတန်ဖိုးမှာ Boolean ဖြစ်ပြီးအောင်မြင်မှုအတွက် မှန်ကန်သော ပြန်လာပြီးပျက်ကွက်မှုအတွက် မှားယွင်းသော ပြန်လည်ရရှိခြင်းဖြစ်သည်။
ဤနည်းလမ်းကိုအခြေအနေများ, အမျိုးအစားများစသည်တို့ကဲ့သို့တိကျသောလယ်ကွင်းအချက်အလက်များကိုရယူရန်လိုအပ်သည့်အခြေအနေတွင်အသုံးပြုသည်။
အသုံးအများဆုံးပြ problem နာက 0 င်ရောက်လာသော $ field_offset parameter သည်ရလဒ်အနေဖြင့်နယ်ပယ်များထက်ကျော်လွန်နေသည်။ ဥပမာအားဖြင့်ရလဒ်အ နေ ဖြင့်ရလဒ်တွင်ကွက်လပ် 3 ခုသာရှိသည် ။
$result = $mysqli->query("SELECT id, name, age FROM users");
$result->field_seek(5); // အမှား,အကွာအဝေးထဲက
ဖြေရှင်းချက် -
မခေါ်မီက $ respect_> field_count ကို အသုံးပြုပါ။
$fieldCount = $result->field_count;
if ($offset >= 0 && $offset < $fieldCount) {
$result->field_seek($offset);
} else {
// ခြွင်းချက်ကိုင်တွယ်
}
mysqli_result :: field_seek ကို သာမှန်ကန်သောစုံစမ်းမှုရလဒ်များအတွက်သာခေါ်နိုင်သည်။ အကယ်. မေးမြန်းမှုသည်ပျက်ကွက်ခြင်းသို့မဟုတ်ရလဒ်မရှိပါကဤနည်းလမ်းကိုခေါ်ဆိုခြင်းသည်အမှားတစ်ခုသို့တင်ပြလိမ့်မည်။
$result = $mysqli->query("INVALID SQL");
$result->field_seek(0); // အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်,အကေြာင်းမှာ$resultမမှန်ကန်သောရလဒ်အရာဝတ်ထု
ဖြေရှင်းချက် -
မခေါ်မီ, စုံစမ်းမှုအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ပါ။
$result = $mysqli->query("SELECT * FROM table");
if ($result instanceof mysqli_result) {
$result->field_seek(0);
} else {
// စုံစမ်းမှုလုပ်ငန်းစဉ်မအောင်မြင်ပါ
}
Field_seek နှင့် Fetch_field ကို ကွင်းဆက်တစ်ခုတွင်အသုံးပြုပြီးနောက်ရလဒ်ကိုအချိန်မီမထုတ်ပြန်ပါက၎င်းသည်မှတ်ဉာဏ်ခြေရာကိုတိုးပွားစေလိမ့်မည်။
$result = $mysqli->query("SELECT * FROM table");
$result->field_seek(1);
// အပြောင်းအလဲနဲ့ကုဒ်ချန်လှပ်
// မခေါ် $result->free()
ဖြေရှင်းချက် -
ရလဒ်ကိုအသုံးပြုပြီးနောက်အရင်းအမြစ်ကိုထုတ်ပြန်ရန် $ ရလဒ် -> အခမဲ့ () ကိုခေါ်ပါ။
$result->free();
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_errno) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$query = "SELECT id, name, email FROM users";
$result = $mysqli->query($query);
if ($result instanceof mysqli_result) {
$fieldCount = $result->field_count;
for ($i = 0; $i < $fieldCount; $i++) {
if ($result->field_seek($i)) {
$fieldInfo = $result->fetch_field();
echo "Field Name: " . $fieldInfo->name . "\n";
echo "ကွင်းဆင်းအမျိုးအစား: " . $fieldInfo->type . "\n";
echo "--------------------\n";
} else {
echo "ရွေ့လျားလယ်ကွင်း pointer ကိုမအောင်မြင်ပါ,ညွှန်ပြသောအရာ: $i\n";
}
}
$result->free();
} else {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}
$mysqli->close();
?>
Field_seek ဟုခေါ်သောအခါလယ်ကွင်းအညွှန်းကိန်းသည်စုစုပေါင်းအရေအတွက်ထက်မကျော်လွန်နိုင်ကြောင်းသေချာစေပါ။
စုံစမ်းမှုရလဒ်သည်မခေါ်မီတရားဝင်သည်ဖြစ်စေစစ်ဆေးပါ။
Reletion Reality သည် Memory ယိုစိမ့်မှုများကိုရှောင်ရှားရန်အသုံးပြုပြီးနောက်အရင်းအမြစ်ကိုအသုံးပြုပါ။
Field_seek ပျက်ကွက်သောအခါ parameters တွေကိုမှန်ကန်မှုနှင့်စုံစမ်းမှုရလဒ်များကိုအမြန်ဆုံးစစ်ဆေးပါ။
ဤနည်းစနစ်များကိုကျွမ်းကျင်စေခြင်းသည် MySQLI_RESELT_RESULT_SEEK ကိုအသုံးပြုသောအခါအသုံးအများဆုံးအမှားများကိုရှောင်ရှားရန်ခွင့်ပြုလိမ့်မည်။