PHP Development တွင်ဒေတာများကိုဒေတာဘေ့စ်ထဲသို့ထည့်ခြင်းနှင့်မှတ်တမ်းအသစ်၏ ID ကိုရယူခြင်းသည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ ၎င်းသည်နောက်ဆက်တွဲအချက်အလက်ပြုပြင်ခြင်းများကိုလွယ်ကူချောမွေ့စေရုံသာမကအချက်အလက်များ၏ဆက်စပ်မှုနှင့်သမာဓိရှိမှုကိုလည်းသေချာစေသည်။ ဤဆောင်းပါးသည် PHP ၏တိကျသောနည်းလမ်းများကိုဤလုပ်ငန်းဆောင်ရွက်မှုကိုအကောင်အထည်ဖော်ရန်နှင့်လက်တွေ့ကျသောနည်းစနစ်အချို့ကိုအကောင်အထည်ဖော်ရန်တိကျသောနည်းလမ်းများကိုမိတ်ဆက်ပေးလိမ့်မည်။
ယေဘုယျအားဖြင့်ပြန်လည်ထည့်သွင်းထားသောမှတ်တမ်း၏ ID ကိုရယူခြင်း MySQL နှင့်ဆက်စပ်သောလုပ်ဆောင်ချက်များအားအလိုအလျောက်တိုးပွားလာသည့်အဓိကလက္ခဏာများကိုအသုံးပြုခြင်းဖြင့်ရရှိနိုင်သည်။ အသုံးအများဆုံးနည်းလမ်းမှာ MySQLI သို့မဟုတ် LastSertid () talestsertid ()) မှတိုးချဲ့ထားသော Insert_ID attribute မှတဆင့်ဖြည့်စွက်ရန်ဖြစ်သည်။
ဤလုပ်ဆောင်ချက်ကိုဖြည့်စွက်ရန်အခြေခံအဆင့်များမှာ -
ဒေတာဘေ့စ် connection ကိုတည်ဆောက်ရန်, Insert statement ကိုပြင်ဆင်ပြီး Execute လုပ်ပါ။
အောက်ပါဥပမာသည်ဒေတာများကိုမည်သို့ထည့်သွင်းရမည်ကိုပြသပြီး MySQLI အကောင်အထည်ဖော်မှုကို အသုံးပြု. ID ကိုရယူရမည်ကိုပြသသည်။
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$conn = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
// ဒေတာထည့်ပါSQLအသေအချာပေြာဆိုချက်
$sql = "INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]')";
// သွင်းကိုလုပ်ဆောင်ပါ
if ($conn->query($sql) === TRUE) {
// 获取ဒေတာထည့်ပါID
$last_id = $conn->insert_id;
echo "စံချိန်အသစ်IDဟုတ်ကဲ့: " . $last_id;
} else {
echo "အမှားထည့်ပါ: " . $conn->error;
}
// ဆက်သွယ်မှုကိုပိတ်ပါ
$conn->close();
ဥပမာတွင် MySQLI မှတဆင့်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုဖန်တီးထားသည်။ Insert စစ်ဆင်ရေးဖျော်ဖြေပြီးနောက် $ conn-> ထည့်သွင်းမှု esterert_id ကို သုံးပါ။ စစ်ဆင်ရေးပြီးဆုံးသွားသောအခါဆက်သွယ်မှုကိုပိတ်ထားသင့်ပြီးအရင်းအမြစ်ကိုထုတ်ပြန်သင့်သည်။
အမှန်တကယ်စီမံကိန်းများတွင်အောက်ပါအချက်များကိုဂရုပြုရန်အကြံပြုသည်။
Insert ID ၏ 0 ယ်ယူမှုကိုအထောက်အကူပြုရန်အချက်အလက်စားပွဲ၌ကိုယ်ပိုင်သော့ချက်ကျသောအဓိကသော့ရှိသည်ကိုသေချာအောင်လုပ်ပါ။
ပရိုဂရမ်သည်တည်ငြိမ်စေရန်အတွက် connection ပျက်ကွက်ခြင်းသို့မဟုတ် SQL ကြေငြာချက်ကဲ့သို့သောအမှားများကိုကိုင်တွယ်ပါ။
လုံခြုံရေးအတွက် SQL Injection Attack ကိုကာကွယ်ရန် Preprocessing ထုတ်ပြန်ချက်များကိုအသုံးပြုသင့်သည်။
Preprocessing ထုတ်ပြန်ချက်များသည် Code Security Security နှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေနိုင်သည်။ ဥပမာကုဒ်မှာအောက်ပါအတိုင်းဖြစ်သည် -
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$conn = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
// 预处理အသေအချာပေြာဆိုချက်
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
// parameters တွေကိုသတ်မှတ်နှင့် execute
$name = 'John Doe';
$email = '[email protected]';
$stmt->execute();
// 获取ဒေတာထည့်ပါID
$last_id = $stmt->insert_id;
echo "စံချိန်အသစ်IDဟုတ်ကဲ့: " . $last_id;
// ဆက်သွယ်မှုကိုပိတ်ပါ
$stmt->close();
$conn->close();
PHP တွင်ဒေတာများကိုထည့်ခြင်းနှင့် Self-incourment ID ကိုရယူခြင်းသည်ဒေတာဘေ့စ်လုပ်ငန်းများ၌အဓိကခြေလှမ်းဖြစ်သည်။ MySQLI (သို့) PDO မှပေးသော interface ကို အသုံးပြု. Proprocessing ထုတ်ပြန်ချက်များကိုပေါင်းစပ်ခြင်းအားဖြင့်၎င်းသည် Code Security Security ကိုသာသေချာစေရုံသာမကပရိုဂရမ်တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုလည်းတိုးတက်စေသည်။ ဤဆောင်းပါးမှနည်းစနစ်များနှင့်ဥပမာများသည် PHP ဒေတာဘေ့စ်ဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းများကိုပိုမိုကောင်းမွန်သောအပြည့်အဝပိုမိုကောင်းမွန်အောင်ကူညီပေးနိုင်ကြောင်းကျွန်ုပ်မျှော်လင့်ပါသည်။