0 က်ဘ်အပလီကေးရှင်းများဖွင့်လှစ်သည့်အခါ, ဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်သောအခါဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်ရာတွင်အမှားအယွင်းများသည်အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင်အမှားရှာဖွေခြင်းနှင့်ဆုံးဖြတ်ချက်သည်စနစ်တည်ငြိမ်မှုနှင့်အသုံးပြုသူတို့ကိုများစွာတိုးတက်စေနိုင်သည်။ PHP တွင် MySQLI extension သည် MySQLI_STMT :: အမှားအယွင်းများနှင့်မှတ်တမ်းမှတ်ရာများနှင့်မှတ်တမ်းမှတ်ရာမှတ်တမ်းများကိုအလွယ်တကူဖမ်းနိုင်သည်။
ဤဆောင်းပါးသည် MySQLI_STMT :: $ အမှား function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးမည်။ ဤနည်းလမ်းအားဖြင့်အမှားတစ်ခုဖြစ်သည့်အခါစနစ်သည်လျင်မြန်စွာတုန့်ပြန်ရန်နှင့်နောက်ဆက်တွဲပြ troubl နာဖြေရှင်းမှုနှင့်ပြုပြင်ခြင်းများကိုလွယ်ကူချောမွေ့စေနိုင်သည်။
MySQLI_STMT :: $ အမှား သည် MySQLI_STMT အတန်းအစား၏ပိုင်ဆိုင်မှုဖြစ်သည်။ ၎င်းသည် MySQLI_STMT Quering စစ်ဆင်ရေး၏အမှားအယွင်းကိုပြန်ပို့ရန်အသုံးပြုသည်။ အကယ်. မေးမြန်းမှုကိုအောင်မြင်စွာလုပ်ဆောင်ပါကပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုသည်ဗလာဖြစ်လိမ့်မည်။ အကယ်. အမှားတစ်ခုတွင်အမှားတစ်ခုဖြစ်ပါကအိမ်ခြံမြေသည်အမှားအယွင်းတစ်ခုပြန်ပို့ပေးလိမ့်မည်။ ဤပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုမှတစ်ဆင့် MySQL သည်ထုတ်ပြန်ချက်များကိုထုတ်ပြန်သည့်အခါအမှားအယွင်းများကိုကျွန်ုပ်တို့ဖမ်းယူနိုင်သည်။
// နမူနာ:အသုံးပြု mysqli_stmt::$error အမှားမက်ဆေ့ခ်ျကိုဖမ်းယူ
if ($stmt->execute()) {
echo "အောင်မြင်သောစုံစမ်းမှု!";
} else {
echo "အမှားသတင်းစကား: " . $stmt->error;
}
ဒေတာဘေ့စ်စစ်ဆင်ရေးအမှားများကိုအလိုအလျောက်မှတ်တမ်းတင်ရန်, ဒေတာဘေ့စ်စစ်ဆင်ရေးအမှားများအားလုံးကိုဖမ်းယူခြင်းနှင့် log file ထဲသို့ဝင်ရောက်မည့်ရိုးရှင်းသောအမှားမှတ်တမ်းစနစ်ကိုသင်ဖန်တီးနိုင်သည်။ MySQLI_STMT ကိုဘယ်လိုသုံးရမယ်ဆိုတာကိုပြသတဲ့ရိုးရှင်းတဲ့ PHP PHOT ဥပမာတစ်ခုမှာဒေတာဘေ့စ်အမှားအယွင်းများကို မှတ်တမ်းတင်ခြင်းနှင့်မှတ်တမ်းအမှားများကိုမှတ်တမ်းတင်ခြင်း။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// လုပ်ဆောင်ချက်:မှတ်တမ်းတင်ရန်အမှားများကိုမှတ်တမ်းတင်ပါ
function log_error($message) {
$logFile = '/path/to/log/error_log.txt'; // ဖိုင်လမ်းကြောင်းကို log
$date = date("Y-m-d H:i:s");
$logMessage = "[$date] - $message\n";
file_put_contents($logFile, $logMessage, FILE_APPEND);
}
// ပြင်ဆင်ထား SQL မေးမြန်း
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $mysqli->prepare($query);
if ($stmt === false) {
// လှျင် SQL 语句ပြင်ဆင်ထား失败,မှတ်တမ်းတင်ခြင်းအမှားများ
log_error("SQL ပြင်ဆင်ထား失败: " . $mysqli->error);
die("SQL အမှား: " . $mysqli->error);
}
// 绑定参数并执行မေးမြန်း
$id = 1;
$stmt->bind_param("i", $id);
if (!$stmt->execute()) {
// လှျင်မေးမြန်း执行失败,မှတ်တမ်းတင်ခြင်းအမှားများ
log_error("မေးမြန်း执行失败: " . $stmt->error);
die("မေးမြန်း失败: " . $stmt->error);
}
// ရလဒ်များကိုရယူပါနှင့်သူတို့ကိုဖြစ်စဉ်ကို
$result = $stmt->get_result();
if ($result->num_rows > 0) {
// output ကိုဒေတာ
while ($row = $result->fetch_assoc()) {
echo "အသုံးပြုသူID: " . $row["id"] . " - နံမယ်: " . $row["name"] . "<br>";
}
} else {
echo "ရှာမတွေ့ပါ";
}
// အနီးကပ်ထုတ်ပြန်ချက်များနှင့်ဒေတာဘေ့စဆက်သွယ်မှုများ
$stmt->close();
$mysqli->close();
?>
ဒေတာဘေ့စ်ဆက်သွယ်မှု - ဒေတာဘေ့စ်သို့ချိတ်ဆက်ရန် MySQLI () ကို သုံးပါ။ ဆက်သွယ်မှုသည်အောင်မြင်မှုရှိမရှိစစ်ဆေးပါ။
logging function : log_error () function () function ကိုသတ်မှတ်ထားသော log file သို့အမှားအချက်အလက်များကိုဖြည့်စွက်သည်။
SQL Query Execution - SQL query ကို ပြင်ဆင်ခြင်း () , bind_param () ကို ပြင်ဆင်ရန် ပြင်ဆင်ပါ ။
ရလဒ် - အကယ် . မေးမြန်းမှုအောင်မြင်လျှင်ရလဒ်သည်ရလဒ်ဖြစ်လိမ့်မည်။ အဘယ်သူမျှမဒေတာကိုပြန်မပြန်လျှင် "ဒေတာမတွေ့ပါ" ။
ဒေတာဘေ့စ်စစ်ဆင်ရေးများတွင်အမှားအယွင်းများတွင်အမှားအယွင်းများကိုစောင့်ကြည့်နိုင်ရန်အတွက်အမှားအချက်အလက်များကိုမှတ်တမ်းဖိုင်သို့ရေးနိုင်သည်, ကျွန်ုပ်တို့သည် log file ကိုအချိန်မီစစ်ဆေးခြင်းဖြင့်အချိန်မှန်အမှားအချက်အလက်များကိုရယူနိုင်ပါသည်။ အောက်ဖော်ပြပါသည် PHP ကိုအသုံးပြုခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
<?php
// အစစ်အမှန်အချိန်တွင်မှတ်တမ်းဖိုင်များကိုဖတ်ပါ
function get_recent_errors($logFile) {
$errors = file_get_contents($logFile);
return nl2br($errors); // လိုင်းအားလပ်ချိန် HTML လိုင်းချိုး
}
$logFile = '/path/to/log/error_log.txt';
$recentErrors = get_recent_errors($logFile);
echo "<h2>最近的数据库操作အမှား:</h2>";
echo "<pre>$recentErrors</pre>";
?>
မှတ်တမ်းဖိုင်ကိုဖတ်ပါ ။ Log file ၏ contents file_get_contents () မှတဆင့်ဖတ်ပါ။
Display error message : log ထဲရှိအကြောင်းအရာများကိုစာမျက်နှာပေါ်ရှိအကြောင်းအရာများကိုပြပါ, nl2br () function ကိုပိုမိုလွယ်ကူစေရန် NL2BR () function မှတဆင့် tags to tags များသို့ပြောင်းလဲပါ။
အထက်ပါနည်းလမ်းဖြင့် MySQLI_STMMT :: $ အမှား လုပ်ဆောင်ချက်ကို အသုံးပြု. ဒေတာဘေ့စ်လုပ်ငန်းများ၌အမှားအယွင်းများကိုအလွယ်တကူရှာဖွေနိုင်သည်။ အလိုအလျောက်အမှားသစ်ထုတ်လုပ်ရေးစနစ်နှင့်အချိန်နှင့်တပြေးညီစောင့်ကြည့်လေ့လာခြင်းနှင့်ပေါင်းစပ်ပြီးဒေတာဘေ့စ်လုပ်ငန်းများ၌ပြ problems နာများကိုချက်ချင်းရှာဖွေတွေ့ရှိနိုင်သည်။ ၎င်းသည်ဖွံ့ဖြိုးရေးထိရောက်မှုကိုတိုးတက်စေသည်သာမကထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်စနစ်ချွင်းချက်များကိုလျင်မြန်စွာတုံ့ပြန်ရန်လည်းကူညီသည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်စနစ်အားအီးမေးလ်ဖြင့်ရှာဖွေခြင်း, ဒေတာဘေ့စ်ကို အသုံးပြု. အမှားအချက်အလက်များကိုမှတ်တမ်းတင်ခြင်းကဲ့သို့သောစနစ်ကိုလိုအပ်သလိုထပ်မံချဲ့ထွင်နိုင်သည်။