လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: PHP တွင်ဒေါ်လာအချက်အလက်များကိုအသုံးပြုသောအခါအမှားအယွင်းများကိုရှောင်ရှားခြင်း

MySQLI :: PHP တွင်ဒေါ်လာအချက်အလက်များကိုအသုံးပြုသောအခါအမှားအယွင်းများကိုရှောင်ရှားခြင်း

gitbox 2025-05-28

MySQLI :: $ အချက်အလက်ကဘာလဲ။

MySQLI :: $ INFO သည် မကြာသေးမီကကွပ်မျက်ခံရသည့်စုံစမ်းမှုမှထုတ်လုပ်သောအသေးစိတ်အချက်အလက်များကိုပြန်လည်ပေးပို့သည့်ဖတ်ရန်တစ်ခုတည်းသောပိုင်ဆိုင်မှုဖြစ်သည်။ မွမ်းမံမှုများ , ဖျက်ခြင်း, ဖျက်ခြင်း , သို့မဟုတ်ထပ်ထည့်ပြီးနောက်သတင်းအချက်အလက်များကိုသက်ဆိုင်ရာ, ဖျက်ခြင်း, သို့မဟုတ် ထည့်သွင်းပြီးနောက်သတင်းအချက်အလက်များကိုအများအား ဖြင့်သတင်းအချက်အလက်များကိုပေးသည်။

 $mysqli = new mysqli('gitbox.net', 'user', 'password', 'database');
$mysqli->query("UPDATE users SET status = 'active' WHERE last_login > NOW() - INTERVAL 30 DAY");
echo $mysqli->info;

ဤပိုင်ဆိုင်မှုသည်တိကျသောစုံစမ်းမှုအမျိုးအစားတစ်ခုအပြီးတွင်သာတရားဝင်သည်။


မကြာခဏမေးသောမေးခွန်းများနှင့်ဖြေရှင်းနည်းများ

1 ။ MySQLI :: $ အချက်အလက်ကို ရယူသည့်အခါ NULL သို့မဟုတ်အချည်းနှီးသော string ကိုပြန်သွားပါ

ဒါကအသုံးအများဆုံးပြ problem နာပါ။ MySQLI :: $ အချက်အလက်များကို တိကျသောမေးမြန်းချက်အချို့အပြီးတွင်သာ သတ်မှတ်ထား သည့်အချက်များအရသာသတ်မှတ်ထားလိမ့်မည်။ အကယ်. စုံစမ်းမှုသည်အပိုဆောင်းသတင်းအချက်အလက်များကိုမထုတ်လုပ်ပါက $ MySQLI-> Info သည် NULL သို့မဟုတ်အချည်းနှီးသော string ကိုပြန်ရောက်သည်။

ဖြေရှင်းချက် -

အသုံးမပြုမီ, ၎င်း၏အသုံးချမှုကိုအတည်ပြုရန်စုံစမ်းမှုအမျိုးအစားကိုစစ်ဆေးပါ။ ၎င်းသည်မှန်ကန်သောတုံ့ပြန်ချက်ကိုရရှိနိုင်ကြောင်းသေချာစေရန် ဒေါ်လာ MySQLI-> Temper_rows နှင့် တွဲဖက်. အသုံးပြုရန်လည်းအကြံပြုပါသည်။

 $result = $mysqli->query("UPDATE users SET status = 'active' WHERE last_login > NOW() - INTERVAL 30 DAY");
if ($result) {
    echo "ထိခိုက်အတန်းအရေအတွက်: " . $mysqli->affected_rows . "\n";
    echo "နောက်ထပ်အချက်အလက်များ: " . ($mysqli->info ?? 'သတင်းအချက်အလက်မရှိပါ') . "\n";
} else {
    echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}

2 ။ MySQLI :: query ပျက်ကွက်ပြီးနောက် $ အချက်အလက်များ သည်အမှားတစ်ခုအတွက်ရလဒ်များရရှိသည်

အကယ်. စုံစမ်းမှုသည် execute လုပ်ရန်ပျက်ကွက်ပါက MySQLI :: $ အချက်အလက်သည် တည်ရှိနေတုန်းဖြစ်သော်လည်း၎င်းင်း၏အကြောင်းအရာများကိုမယုံကြည်နိုင်ပါ။ အကယ်. သင်သည် query ရလဒ်များကိုမစီရင်ပါက၎င်းတို့ကိုတိုက်ရိုက်လက်လှမ်းမမှီပါကသင်သည်အဓိပ္ပာယ်မရှိသောသို့မဟုတ်မမှန်ကန်သောသတင်းအချက်အလက်များကိုရနိုင်သည်။

ဖြေရှင်းချက် -

စုံစမ်းမှုသည်ပထမ ဦး စွာအောင်မြင်မှုရှိမရှိအမြဲတမ်းဆုံးဖြတ်ပါ, ထို့နောက် MySQLI :: $ အချက်အလက်ကို သွားပါ။

 if ($mysqli->query($sql) === false) {
    echo "အမှား: " . $mysqli->error;
} else {
    echo "အကေြာင်းကြားချက်: " . $mysqli->info;
}

3 ။ မမှန်မကန် encoding သို့မဟုတ်ဇာတ်ကောင်အစုံက MySQLI :: $ အချက်အလက် အကြောင်းအရာများကိုခြွင်းချက်တစ်ခုဖြစ်ပေါ်စေသည်

ဒေတာဘေ့စ်ဆက်သွယ်မှုအတွက်သတ်မှတ်ထားသည့်စာလုံးသည်မမှန်ကန်ပါက MySQLI :: $ အချက်အလက်သည် garbled သို့မဟုတ်မပြည့်စုံသောသတင်းအချက်အလက်များကိုပြန်ပို့နိုင်သည်။

ဖြေရှင်းချက် -

ဥပမာ - ဒေတာဘေ့စ်သို့ချိတ်ဆက်ပြီးနောက်မှန်ကန်သောဇာတ်ကောင်အစုံကိုချက်ချင်းသတ်မှတ်ရန်သေချာအောင်လုပ်ပါ။

 $mysqli->set_charset('utf8mb4');

ဤအချက်သည် MySQLI မှပြန်လာသော string :: $ အချက်အလက် မှန်ကန်စွာဖော်ပြသည်။


4 ။ MySQLI :: $ အချက်အလက်များသည် ဒေါ်လာအချက်အလက်အဟောင်းကိုပြန်လာနိုင်သည်

MySQLI :: $ အချက်အလက်သည် နောက်ဆုံးအောင်မြင်သောစုံစမ်းမှု၏ရလဒ်ဖြစ်သည်။ အကယ်. အခြားစုံစမ်းမှုတစ်ခုကိုအလယ်တွင်ကွပ်မျက်လျှင်, ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုရယူခြင်းသည်ယခင်စုံစမ်းမှု၏ရလဒ်များကိုပြန်လည်ရယူခြင်း, နားလည်မှုလွဲစေနိုင်သည်။

ဖြေရှင်းချက် -

MySQLI :: $ အချက်အလက်များ သို့ 0 င်ရောက်နိုင်ခြင်းမပြုမီအခြားမည်သည့်မသက်ဆိုင်သောမရှိသလောက်စုံစမ်းမှုများကိုမဖြည့်စွက်ခြင်းမပြုရသေးပါစေ,


အပိုဆောင်းအကြံဥာဏ်

  • MySQLI_REPORD (MySQLI_REPORPORE) နှင့်ပေါင်းစပ်ခြင်း (MySQLI_REPORT_STECT) MYSQLI_REPORT_STECTS) MYSQLI_REPORT_STECTS )

  • Remure Reward Value Judge : MySQLI :: $ အချက်အလက် တရားသူကြီးများသည်ရလဒ်များကိုရှာဖွေခြင်းရလဒ်များကိုရှာဖွေခြင်းရလဒ်များကိုရှာဖွေခြင်းသည်အကောင်းဆုံးတရားစီရင်ခြင်းအတွက် ထိခိုက်မှု နှင့် အမှားများကို ပေါင်းစပ်ရန်အကောင်းဆုံးဖြစ်သည်။

  • စာရွက်စာတမ်းကိုးကားစရာ - MySQLI :: $ အချက်အလက် များ၏တရားဝင်စာရွက်စာတမ်းများဖော်ပြချက်အကြောင်းပိုမိုလေ့လာပါ။ ၎င်းသည်သက်ဆိုင်သည်။


အချုပ်အားဖြင့်ဆိုရလျှင် MySQLI :: $ အချက်အလက်သည် လက်တွေ့ကျသော်လည်းလှည့်ဖြားနိုင်သောပစ္စည်းဖြစ်သည်။ စုံစမ်းမှုရလဒ်များကိုမှန်ကန်စွာဆုံးဖြတ်ပြီးအခြား MySQLI attribute များနှင့်ပေါင်းစပ်အသုံးပြုမှုကို အသုံးပြု. အသုံးပြုနေစဉ်အတွင်းအမှားအယွင်းများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။


 $mysqli = new mysqli('gitbox.net', 'user', 'password', 'database');
$mysqli->set_charset('utf8mb4');

$sql = "UPDATE users SET status = 'active' WHERE last_login > NOW() - INTERVAL 30 DAY";

if ($mysqli->query($sql) === false) {
    echo "查询အမှား: " . $mysqli->error;
} else {
    echo "ထိခိုက်အတန်းအရေအတွက်: " . $mysqli->affected_rows . "\n";
    echo "နောက်ထပ်အချက်အလက်များ: " . ($mysqli->info ?? 'သတင်းအချက်အလက်မရှိပါ') . "\n";
}