လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> query ကိုအရာဝတ်ထုတစ်ခုသို့ပြောင်းလဲရန် MySQLI_RESULT :: FETLE_BOBJECT_BOBJECST () ကိုသုံးပါ

query ကိုအရာဝတ်ထုတစ်ခုသို့ပြောင်းလဲရန် MySQLI_RESULT :: FETLE_BOBJECT_BOBJECST () ကိုသုံးပါ

M66 2025-05-17

PHP တွင်ဒေတာဘေ့စ်လုပ်ငန်းများလုပ်ကိုင်ရန်ကျွန်ုပ်တို့အသုံးပြုသောအခါကျွန်ုပ်တို့သည် MySQLI_Query () ကို အသုံးပြု. ရှာဖွေမှုကိုလုပ်ဆောင်ရန်နှင့်ရလဒ်ရရှိရန် MySQLI_RESULT အရာဝတ်ထုကိုအသုံးပြုသည်။ အကယ်. သင် query ကိုအရာဝတ်ထုများသို့တိုက်ရိုက်ပြောင်းလဲလိုပါက MySQLI_RESULT :: FETL_BOBJECTS () နည်းလမ်းကိုသုံးနိုင်သည်။

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

1 ?? mysqli_result :: finch_object () ?

fech_object () သည် mySqli_result အတန်းအစား၏နည်းလမ်းဖြစ်ပြီး, ပုံမှန်အားဖြင့်၎င်းသည်စံသတ်မှတ်ထားသောအရာဝတ်ထု ( stdclass ) ကိုပြန်လည်နေရာချထားမှုအမည်ကိုဒေတာဘေ့စ်လယ်ကွင်းအမည်နှင့်ကိုက်ညီသည်။

သင်သည်အတန်းအစားအမည်တွင်လည်းဖြတ်သွားနိုင်သည်။ ထိုနည်းလမ်းကိုသတ်မှတ်ထားသောအတန်းအစား၏ဥပမာအားဖြင့်ပြန်ပို့ပါ။

2 ?? အခြေခံ syntax

 object mysqli_result::fetch_object ([ string $class_name = "stdClass" [, array $params ]] )
  • $ class_name : Class Name ကိုချက်ချင်းအတည်ပြုရန်, default သည် stdclass ဖြစ်သည်။

  • $ Params : class name ကိုသတ်မှတ်ထားပါကဆောက်လုပ်ရေး parameter ကိုလွန်နိုင်သည်။

3 ?? နမူနာကုဒ်: query ကို query တစ်ခုသို့ပြောင်းပါ

သင့်တွင် အသုံးပြုသူများ ဟုခေါ်သည့်စားပွဲတစ်ခုရှိသည်ဆိုပါစို့, ဖွဲ့စည်းပုံသည်အောက်ပါအတိုင်းဖြစ်သည် -

သတ် နံမယ် အီးမေးလ်
1 အဲီး Alice@m66.net
2 ဘွတ် Bob@m66.net

ဤတွင်နမူနာကုဒ်ဖြစ်သည်။

 <?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli("localhost", "username", "password", "database");

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($mysqli->connect_errno) {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
    exit();
}

// တစ် ဦး စုံစမ်းမှု execute
$sql = "SELECT id, name, email FROM users";
$result = $mysqli->query($sql);

if ($result) {
    while ($user = $result->fetch_object()) {
        echo "ID: " . $user->id . "<br>";
        echo "Name: " . $user->name . "<br>";
        echo "Email: " . $user->email . "<br><br>";
    }
    $result->free();
} else {
    echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}

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

ဤဥပမာတွင် Loop $ အသုံးပြုသူ တစ်ခုစီသည်လက်ရှိအတန်း၏ ID , အမည် နှင့် အီးမေးလ် attribute များပါ 0 င်သည့် stdclass အရာဝတ်ထုတစ်ခုဖြစ်သည်။

4 ?? ထုံးစံအတန်းကိုသုံးပါ

သငျသညျ fech_object_object () သတ်သတ်မှတ်မှတ်လူတန်းစားအရာဝတ်ထုကိုပြန်ပို့ပေးနိုင်ပါတယ်။

 <?php
class User {
    public $id;
    public $name;
    public $email;

    public function display() {
        echo "[$this->id] $this->name <$this->email><br>";
    }
}

$sql = "SELECT id, name, email FROM users";
$result = $mysqli->query($sql);

if ($result) {
    while ($user = $result->fetch_object('User')) {
        $user->display();
    }
    $result->free();
}
?>

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

5 ?? မှတ်စုများ

  • အကယ်. စုံစမ်းမှုရလဒ်သည်အချည်းနှီးဖြစ်ပါက FECT_OBJECT () မှားယွင်းသော ပြန်လာသည်။

  • အကယ်. အတန်းအစားအမည်ကိုသတ်မှတ်ထားပါကအတန်း၏ဂုဏ်သတ္တိများသည် လူသိရှင်ကြား ဖြစ်ရမည်မဟုတ်လျှင်တန်ဖိုးကိုတိုက်ရိုက် သတ်မှတ်. မရပါ။

  • FETT_OBJECT_OBJECT () ဒေတာတစ်ချိန်တည်းတွင်ဒေတာတစ်တန်းသာထုတ်ယူပြီးကွင်းဆက်တွင်အသုံးပြုရမည်။