PHP တွင်ဒေတာဘေ့စ်မေးမြန်းချက်များကိုနေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ ဇယားမျိုးစုံမှအချက်အလက်များကိုကျွန်ုပ်တို့ရယူရန်လိုအပ်သည့်အခါကျွန်ုပ်တို့သည်များသောအားဖြင့်စားပွဲတင် join (join) query ကိုသုံးလေ့ရှိသည်။ စုံစမ်းမှုကိုအကောင်အထည်ဖော်ပြီးနောက်, စုံစမ်းမှုရလဒ်များကိုအလွယ်တကူရယူနိုင်ပုံဆိုသည်မှာသော့ချက်ဖြစ်လာသည်။ Multi-table join query query ၏ရလဒ်များကိုရရှိရန် FECT_ALL () နည်းလမ်းကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးသည်ဤဆောင်းပါးသည်ဥပမာအားဖြင့်ဥပမာကုဒ်နှင့် တွဲဖက်. ရှင်းပြပါလိမ့်မည်။
Multi-table တွင်ပါ 0 င်သောစုံစမ်းမှုသည်ဇယားများစွာနှင့်တိကျသောအခြေအနေများအပေါ် အခြေခံ. ရလဒ်များကိုပြန်ပို့ခြင်းနှင့်ရလဒ်များကိုပြန်ပို့နိုင်သည်။ ဥပမာအားဖြင့်, စားပွဲ အသုံးပြုသူ နှင့် အမိန့် နှစ်ခုရှိသည်။ အသုံးပြုသူများနှင့် 4 င်းတို့၏သက်ဆိုင်ရာအမိန့်သတင်းအချက်အလက်အားလုံးကိုမေးမြန်းလိုပါသည်။
SELECT users.id, users.name, orders.order_id, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id;
PHP MySQL ဒေတာဘေ့စ်ကိုလုပ်ကိုင်ရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဤနေရာတွင် MySQLI extension ကို အသုံးပြု. ရလဒ်အားလုံးကိုရရန် Fetch_All () နည်းလမ်းကိုအသုံးပြုသည်။
<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
?>
<?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);
}
?>
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>";
}
?>
<?php
$mysqli->close();
?>
<?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();
?>
Multi-table join query query သည်ဆက်စပ်အချက်အလက်များကိုရယူရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။
MySQLI 's မေးမြန်းခြင်း () query () ကို သုံးပါ။ ရလဒ်အားလုံးကိုတစ်ပြိုင်နက်တည်းရရှိရန်အတွက်အချက်အလက်အားလုံးကိုရယူရန်အတွက် Fetch_all () ကို သုံးပါ။
MySQLI_ASSOC သို့ FECT_ALT_ALL () ကို parameter လုပ်ခြင်းအားဖြင့်, လယ်ကွင်းအမည်မှတစ်ဆင့်အချက်အလက်များကိုအလွယ်တကူရယူနိုင်သည်။
ဤဆောင်းပါးသည်တိုကျိုစားပွဲ၌ပါ 0 င်သော joiness ၏ရလဒ်များကိုရရှိရန်အတွက် FCH_ALL () ကို ပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုနားလည်ရန်နှင့်အသုံးပြုရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။