လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Errno ကိုဘယ်လိုဖမ်းရမလဲ။

Errno ကိုဘယ်လိုဖမ်းရမလဲ။

M66 2025-06-05

PHP applications များကိုတီထွင်သောအခါဒေတာဘေ့စ်အမှားများသည်အထူးသဖြင့်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် MySQLI Operations အတွက် MySQLI Extensions ကို အသုံးပြု. အသေးစိတ်အချက်အလက်များကိုပိုမိုထိရောက်စွာဖမ်းယူနိုင်ပြီးစောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းသို့တင်ပြရန်နှင့်စောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းသို့တင်ပြနိုင်သည်။ ဤဆောင်းပါးသည် MySQLI :: errno ကို အသုံးပြုရမည်ကို Database အမှားများကိုရိုက်ကူးရန်နှင့်သင်၏ system ကိုတည်ငြိမ်ပြီးထိရောက်စေရန်အတွက်ကင်းစောင့်သို့မဟုတ်အခြားစောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းများကိုသတင်းပို့ပါမည်။

1 ။ MySQLI :: $ errno ကဘာလဲ။

MySQLI :: $ errno သည် MySQLI အတန်းထဲတွင်အလွန်အရေးကြီးသောအိမ်ခြံမြေဖြစ်သည်။ ၎င်းကိုနောက်ဆုံးဒေတာဘေ့စ်စစ်ဆင်ရေး၏အမှားကုဒ်ကိုရရှိရန်အသုံးပြုသည်။ အကယ်. စစ်ဆင်ရေးအောင်မြင်လျှင် Errno သည် 0 ပြန်လာလိမ့်မည်။ အမှားတစ်ခုဖြစ်ပါကသက်ဆိုင်ရာအမှားကုဒ်ကိုပြန်လည်ပေးပို့လိမ့်မည်။ ဒီပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုမှတစ်ဆင့်ဒေတာဘေ့စ်လည်ပတ်မှုအောင်မြင်မှုရှိမရှိကိုသင်အလွယ်တကူဆုံးဖြတ်နိုင်သည်။

2 ။ အခြေခံ MySQLI အမှားကိုဖမ်းယူနည်းလမ်း

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

 <?php
$mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "SQL အမှားကုဒ်: " . $mysqli->errno . " အမှားသတင်းစကား: " . $mysqli->error;
}
?>

အထက်ပါကုဒ်နမူနာက MySQLI :: errino :: အမှားအယွင်းများပြုလုပ်သည့်အခါအမှားများနှင့် output များကိုရယူရန်အမှားအယွင်းများနှင့် output များကိုဖမ်းရန် MySQLI :: errno ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည်။

3 ။ ကင်းစောင့်ကိုအမှားအကြောင်းကြားပါ

Sentry သည် developer များအနေဖြင့် applications များရှိအမှားအယွင်းများကိုအချိန်မှန်တွင်ဖမ်းရန်နှင့်ကိုင်တွယ်ရန်ကူညီသောလူကြိုက်များသောအမှားခြေရာခံခြင်းနှင့်စောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းတစ်ခုဖြစ်သည်။ Sentry သို့အမှားအယွင်းများပို့ရန် Sentry SDK ကိုပထမဆုံးလိုအပ်သည်။

Sentry PHP SDK တပ်ဆင်ရန်တေးရေးဆရာကိုအသုံးပြုပါ။

 composer require sentry/sdk

ထို့နောက် Sentry ကိုသင်၏ကုဒ်ထဲသို့ဖွင့်ရန်ကုဒ်ကိုထည့်သွင်းပါ, ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
require 'vendor/autoload.php';

// ဖြစ်ပေါ်လာခြင်း Sentry
Sentry\init(['dsn' => 'https://your_sentry_dsn_url@m66.net']);

$mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // ဒေတာဘေ့စ်အမှားများကိုဖမ်း,နှင့်မှသတင်းပို့ပါ Sentry
    Sentry\captureException(new Exception("SQL အမှားကုဒ်: " . $mysqli->errno . " အမှားသတင်းစကား: " . $mysqli->error));
    echo "အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,စောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းမှအစီရင်ခံခဲ့သည်。";
}
?>

အထက်ဖော်ပြပါကုဒ်တွင် MySQLI သည် စုံစမ်းမှုတစ်ခုကိုလုပ်ဆောင်သောအခါအမှားတစ်ခုဖြစ်ပါကအမှားအယွင်းတစ်ခုဖြစ်ပါက Sente \ t

4 ။ အခြားစောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းများကိုသုံးပါ

Sentry အပြင်အခြားစောင့်ကြည့်လေ့လာရေးပလက်ဖောင်းများသို့အမှားများပေးပို့နိုင်သည်။ ဤတွင်မတူညီသောပလက်ဖောင်းများကို အသုံးပြု. အခြေခံပေါင်းစည်းမှုနည်းလမ်းများဖြစ်သည်။

က) bugsnag ကိုသုံးပါ

BugsNag သည်အခြားလူကြိုက်များသောအမှားစောင့်ကြည့်ရေးကိရိယာတစ်ခုဖြစ်သည်။ အောက်ပါနည်းလမ်းများဖြင့်အမှားများကိုသင်ပို့နိုင်သည်။

 require 'vendor/autoload.php';

// ဖြစ်ပေါ်လာခြင်း Bugsnag
Bugsnag::start('your_bugsnag_api_key');

$mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // ဒေတာဘေ့စ်အမှားများကိုဖမ်း,နှင့်မှသတင်းပို့ပါ Bugsnag
    Bugsnag::notifyException(new Exception("SQL အမှားကုဒ်: " . $mysqli->errno . " အမှားသတင်းစကား: " . $mysqli->error));
    echo "အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,အစီရင်ခံ Bugsnag。";
}

ခ) logrocket ကိုအသုံးပြုခြင်း

logrocket သည်ရှေ့တန်းနှင့်နောက်ခံအမှားခြေရာခံခြင်းကိုထောက်ပံ့သောအခြားကိရိယာတစ်ခုဖြစ်သည်။ အကယ်. သင်၏ PHP Backend သည် LoGrocket ကိုပေါင်းစပ်ရန်လိုအပ်ပါက API မှတဆင့်အမှားအယွင်းများကိုသင်အစီရင်ခံနိုင်သည်။

 require 'vendor/autoload.php';

// LogRocket ဘက်ပေါင်းစုံ (ယူဆချက် LogRocket PHP SDK ရှိပြီးသားရှိပြီးသား)
LogRocket::init('your_logrocket_project_id');

$mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // ဒေတာဘေ့စ်အမှားများကိုဖမ်း,နှင့်မှသတင်းပို့ပါ LogRocket
    LogRocket::captureError("SQL အမှားကုဒ်: " . $mysqli->errno . " အမှားသတင်းစကား: " . $mysqli->error);
    echo "အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,အစီရင်ခံ LogRocket。";
}

5 ။ ပြီးပြည့်စုံသောဥပမာ - ကင်းစောင့်နှင့်အမှားကိုပေါင်းစည်းခြင်း

အထက်ပါအကြောင်းအရာများအပေါ် အခြေခံ. အောက်ပါပြည့်စုံသောဥပမာကိုသင်ရည်ညွှန်းနိုင်သည်။ ဒေတာဘေ့စ်အမှားများကိုဖမ်းရန် MySQLI :: $ errno ကို သုံးပါ။

 <?php
require 'vendor/autoload.php';

// ဖြစ်ပေါ်လာခြင်း Sentry
Sentry\init(['dsn' => 'https://your_sentry_dsn_url@m66.net']);

$mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM nonexistent_table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    // ဒေတာဘေ့စ်အမှားများကိုဖမ်း,နှင့်မှသတင်းပို့ပါ Sentry
    Sentry\captureException(new Exception("SQL အမှားကုဒ်: " . $mysqli->errno . " အမှားသတင်းစကား: " . $mysqli->error));
    echo "အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,အစီရင်ခံ Sentry。";
}
?>

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

MySQLI :: $ errno property ကို အသုံးပြု. ဒေတာဘေ့စ်လုပ်ငန်းများ၌အမှားအယွင်းများကိုအလွယ်တကူဖမ်းယူနိုင်ပြီးကင်းစောင့်, bugsnag သို့မဟုတ် logrocks ကဲ့သို့သောစောင့်ကြည့်လေ့လာခြင်းသို့ပို့နိုင်သည်။ ဤနည်းအားဖြင့်အလားအလာရှိသောပြ problems နာများကိုချက်ချင်းဖော်ထုတ်နိုင်ပြီးသင်၏စနစ်၏တည်ငြိမ်အေးချမ်းရေးနှင့်ထိန်းသိမ်းခြင်းတို့ကိုမြှင့်တင်နိုင်သည်။

ဤစောင့်ကြည့်လေ့လာရေးကိရိယာများကိုပေါင်းစပ်သောအခါသင်၏စီမံကိန်းအတွက်သင့်တော်သော SDK ကိုရွေးချယ်ရန်နှင့်အညီပလက်ဖောင်းစာရွက်စာတမ်းများအရသိရသည်၎င်းကို configure လုပ်ပါ။