လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရလဒ်ရရှိမှုဖွဲ့စည်းပုံရရန် MySQLI_STMTMT :: Revetadata အတွက် code spegion ကိုအပြည့်အဝကုဒ်ပုံဥပမာတစ်ခုရှိပါသလား။ ဘယ်လိုရေးရမလဲ။

ရလဒ်ရရှိမှုဖွဲ့စည်းပုံရရန် MySQLI_STMTMT :: Revetadata အတွက် code spegion ကိုအပြည့်အဝကုဒ်ပုံဥပမာတစ်ခုရှိပါသလား။ ဘယ်လိုရေးရမလဲ။

gitbox 2025-06-08

PHP တွင် MySQLI_STMT :: Revodadata ကို ပြင်ဆင်ထားသည့်ဖော်ပြချက်နှင့်ကိုက်ညီသည့် Metadata (I.E. , Field ဖွဲ့စည်းပုံ) ကိုရရှိရန်အတွက်အသုံးပြုသောနည်းလမ်းဖြစ်သည်။ ဤနည်းလမ်းသည် Query ရလဒ်များအတွက်ကော်လံအချက်အလက်များကို dynamically dynamically for query လုပ်ခြင်းနှင့်စည်းနှောင်ကော်လံများကဲ့သို့သောနောက်ထပ်စစ်ဆင်ရေးများပြုလုပ်ရန်အလွန်အသုံးဝင်သည်။ ရလဒ်တည်ဆောက်ပုံကိုရရှိရန် Lever_metadata ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည့် code perment တစ်ခုပြသပါမည်။

1 ။ ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ

ပထမ ဦး စွာ MySQLI မှတဆင့်ဒေတာဘေ့စ်ကိုဆက်သွယ်ရန်လိုအပ်သည်။ MySQL ဒေတာဘေ့စ်ရှိပြီးသားဆိုပါစို့။ ဆက်သွယ်မှုအတွက်အခြေခံကုဒ်ဖြစ်သည်ဆိုပါစို့။

 <?php
$host = 'localhost';
$username = 'root';
$password = 'password';
$dbname = 'test_database';

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($host, $username, $password, $dbname);

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

2 ။ SQL query ကိုပြင်ဆင်ပါ

ကျွန်ုပ်တို့တွင်ဖွဲ့စည်းတည်ဆောက်ပုံတွင်ကွက်လပ်သုံးခုပါ 0 င သည့်ဇယား သုံးခု ရှိသည်ဆိုပါစို့ ပထမ ဦး စွာစုံစမ်းမှုကြေညာချက်ကိုပြင်ဆင်ပါ။

 $sql = "SELECT id, name, email FROM users";
$stmt = $conn->prepare($sql);

if ($stmt === false) {
    die('MySQL prepare failed: ' . $conn->error);
}

3 ။ ရလဒ်ကိုရယူပါ Metadata

ရလဒ်အနေဖြင့် Metadata ရရန် MySQLI_STMMT :: Revodadata နည်းလမ်းကိုအသုံးပြုသည်။ ဤနည်းလမ်းသည် MySQLI_RESULT အရာဝတ်ထုတစ်ခု၏ရှာဖွေမှုရလဒ်၏အချက်အလက်များအချက်အလက်များပါ 0 င်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်လယ်ကွင်းအချက်အလက်များကိုကြည့်ရှုခြင်းနှင့်ကွင်းတစ်ခုစီ၏အမည်ကိုထုတ်ပေးလိမ့်မည်။

 $result_metadata = $stmt->result_metadata();

if ($result_metadata === false) {
    die('ရလဒ်ကိုမရရှိနိုင် Metadata');
}

$columns = [];
while ($column = $result_metadata->fetch_field()) {
    $columns[] = $column->name;
}

echo "စုံစမ်းမှုရလဒ်၏လယ်ပြင်အမည်:<br>";
foreach ($columns as $column_name) {
    echo $column_name . "<br>";
}

4 ။ ကော်လံများချည်နှောင်ခြင်း

PHP variable တစ်ခုစီအတွက်ကော်လံတစ်ခုချင်းစီကိုချည်နှောင်ရန် MySQLI_STMT :: bind_result နည်းလမ်းကိုသင်အသုံးပြုနိုင်သည်။ ဤတွင်မည်ကဲ့သို့ကော်လံကိုမည်သို့ချည်နှောင်ရန်နှင့်ရလဒ်ကိုရနိုင်ပုံဥပမာတစ်ခုဖြစ်သည်။

 // Bind ကော်လံ
$stmt->bind_result($id, $name, $email);

// တစ် ဦး စုံစမ်းမှု execute
$stmt->execute();

// ရလဒ်များကိုရယူပါ
while ($stmt->fetch()) {
    echo "ID: $id, Name: $name, Email: $email <br>";
}

// ကြေငြာချက်
$stmt->close();

5 ။ ပြီးပြည့်စုံသောဥပမာ

အထက်ပါအစိတ်အပိုင်းများကိုအတူတကွဆောင်သောကုဒ်ကိုအပြည့်အဝကုဒ်ပါ။

 <?php
$host = 'localhost';
$username = 'root';
$password = 'password';
$dbname = 'test_database';

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($host, $username, $password, $dbname);

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

$sql = "SELECT id, name, email FROM users";
$stmt = $conn->prepare($sql);

if ($stmt === false) {
    die('MySQL prepare failed: ' . $conn->error);
}

// ရလဒ်များကိုရယူပါ集元数据
$result_metadata = $stmt->result_metadata();

if ($result_metadata === false) {
    die('ရလဒ်ကိုမရရှိနိုင် Metadata');
}

$columns = [];
while ($column = $result_metadata->fetch_field()) {
    $columns[] = $column->name;
}

echo "စုံစမ်းမှုရလဒ်၏လယ်ပြင်အမည်:<br>";
foreach ($columns as $column_name) {
    echo $column_name . "<br>";
}

// Bind ကော်လံ
$stmt->bind_result($id, $name, $email);

// တစ် ဦး စုံစမ်းမှု execute
$stmt->execute();

// ရလဒ်များကိုရယူပါ
while ($stmt->fetch()) {
    echo "ID: $id, Name: $name, Email: $email <br>";
}

// ကြေငြာချက်
$stmt->close();

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

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

MySQLI_STMT :: Rever_metadata ကိုအလွယ်တကူ ရရှိနိုင်သည့်ရလဒ်ကိုအလွယ်တကူရရှိနိုင်သည့်ရလဒ်ကိုအလွယ်တကူရယူနိုင်ရန်။ လယ်ကွင်းအချက်အလက်များကိုရယူပြီးသည့်နောက်တွင်သင်သည်ကော်လံများကိုလိုအပ်သလို dvice ကိုချိတ်ဆက်ပြီးစုံစမ်းမှုရလဒ်များကိုထုတ်ယူနိုင်သည်။ ရှုပ်ထွေးသောမေးမြန်းချက်များနှင့်ဆက်စပ်သောစာမျက်နှာများကိုထုတ်လုပ်သည့်အခါ၎င်းသည်အလွန်အသုံးဝင်သည်။