လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PATET_ALL () ကိုသုံးရန် FETC_ALL () ကိုသုံးပါ

PATET_ALL () ကိုသုံးရန် FETC_ALL () ကိုသုံးပါ

M66 2025-06-15

PHP တွင်ဒေတာဘေ့စ်မေးမြန်းချက်များကိုနေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ ဇယားမျိုးစုံမှအချက်အလက်များကိုကျွန်ုပ်တို့ရယူရန်လိုအပ်သည့်အခါကျွန်ုပ်တို့သည်များသောအားဖြင့်စားပွဲတင် join (join) query ကိုသုံးလေ့ရှိသည်။ စုံစမ်းမှုကိုအကောင်အထည်ဖော်ပြီးနောက်, စုံစမ်းမှုရလဒ်များကိုအလွယ်တကူရယူနိုင်ပုံဆိုသည်မှာသော့ချက်ဖြစ်လာသည်။ Multi-table join query query ၏ရလဒ်များကိုရရှိရန် FECT_ALL () နည်းလမ်းကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးသည်ဤဆောင်းပါးသည်ဥပမာအားဖြင့်ဥပမာကုဒ်နှင့် တွဲဖက်. ရှင်းပြပါလိမ့်မည်။

1 ။ Multi-table connection query ကိုမိတ်ဆက်ခြင်း

Multi-table တွင်ပါ 0 င်သောစုံစမ်းမှုသည်ဇယားများစွာနှင့်တိကျသောအခြေအနေများအပေါ် အခြေခံ. ရလဒ်များကိုပြန်ပို့ခြင်းနှင့်ရလဒ်များကိုပြန်ပို့နိုင်သည်။ ဥပမာအားဖြင့်, စားပွဲ အသုံးပြုသူ နှင့် အမိန့် နှစ်ခုရှိသည်။ အသုံးပြုသူများနှင့် 4 င်းတို့၏သက်ဆိုင်ရာအမိန့်သတင်းအချက်အလက်အားလုံးကိုမေးမြန်းလိုပါသည်။

 SELECT users.id, users.name, orders.order_id, orders.amount 
FROM users 
JOIN orders ON users.id = orders.user_id;

2 ။ Multi-table connection query ကိုလုပ်ဆောင်ရန် PHP တွင် MySQLI ကိုသုံးပါ

PHP MySQL ဒေတာဘေ့စ်ကိုလုပ်ကိုင်ရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဤနေရာတွင် MySQLI extension ကို အသုံးပြု. ရလဒ်အားလုံးကိုရရန် Fetch_All () နည်းလမ်းကိုအသုံးပြုသည်။

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

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

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

2 ။ Table Join query ကိုလုပ်ဆောင်ပါ

 <?php
$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error);
}
?>

3 ။ ရလဒ်ရရန် fetch_all () ကို သုံးပါ

FETT_ALL () သည် ရလဒ်အားလုံး၏အတန်းများအားလုံးကိုတစ်ပြိုင်တည်းယူပြီးနှစ်ရှုထောင်ခင်းကျင်းမှုကိုပြန်ပေးလိမ့်မည်။ ၎င်း၏ပုံမှန်ပြန်လာအမျိုးအစားမှာ MySQLI_Num ဖြစ်ပြီးအညွှန်းကိန်းများဖြစ်သည်။ အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုကိုရရှိရန် MySQLI_ASSOC ကိုလည်းအသုံးပြုနိုင်သည်။

 <?php
$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "အသုံးပြုသူID: " . $row['id'] . ",နံမယ်: " . $row['name'] . ",အမိန့်ID: " . $row['order_id'] . ",စုပေါင်း: " . $row['amount'] . "<br>";
}
?>

4 ။ ဆက်သွယ်မှုကိုပိတ်ပါ

 <?php
$mysqli->close();
?>

3 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

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

$sql = "SELECT users.id, users.name, orders.order_id, orders.amount 
        FROM users 
        JOIN orders ON users.id = orders.user_id";

$result = $mysqli->query($sql);

if (!$result) {
    die("စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error);
}

$data = $result->fetch_all(MYSQLI_ASSOC);

foreach ($data as $row) {
    echo "အသုံးပြုသူID: " . $row['id'] . ",နံမယ်: " . $row['name'] . ",အမိန့်ID: " . $row['order_id'] . ",စုပေါင်း: " . $row['amount'] . "<br>";
}

$mysqli->close();
?>

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

  • Multi-table join query query သည်ဆက်စပ်အချက်အလက်များကိုရယူရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။

  • MySQLI 's မေးမြန်းခြင်း () query () ကို သုံးပါ။ ရလဒ်အားလုံးကိုတစ်ပြိုင်နက်တည်းရရှိရန်အတွက်အချက်အလက်အားလုံးကိုရယူရန်အတွက် Fetch_all () ကို သုံးပါ။

  • MySQLI_ASSOC သို့ FECT_ALT_ALL () ကို parameter လုပ်ခြင်းအားဖြင့်, လယ်ကွင်းအမည်မှတစ်ဆင့်အချက်အလက်များကိုအလွယ်တကူရယူနိုင်သည်။

ဤဆောင်းပါးသည်တိုကျိုစားပွဲ၌ပါ 0 င်သော joiness ၏ရလဒ်များကိုရရှိရန်အတွက် FCH_ALL () ကို ပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုနားလည်ရန်နှင့်အသုံးပြုရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။