MySQLI :: Real_Query () သည် PHP ရှိ MySQLI extension မှ MySQL query query ider query quert server ကိုချက်ချင်းပေးပို့ခြင်းမပြုဘဲပေးပို့သော MySQL server သို့ပေးပို့ရန်အသုံးပြုသောအဆင့်နိမ့်လုပ်ဆောင်မှုဖြစ်သည်။ ၎င်း၏အဓိကဒီဇိုင်းကို Store_result () နှင့် use_resulult () နှင့်အသုံးပြုသည်။ developer များကရလဒ်များပြုပြင်ခြင်းမပြုမီ,
$mysqli = new mysqli("localhost", "user", "password", "database");
$sql = "SELECT * FROM users";
$mysqli->real_query($sql);
$result = $mysqli->store_result();
Real_Query () သည်စုံစမ်းမှုဖော်ပြချက်များ (semicolons ခွဲခြားခြင်း) ကို တစ်ပြိုင်နက်တည်းကမထောက်ပံ့ပါ, အကယ်. ထုတ်ပြန်ချက်များကိုတစ်ခုကတစ်ခုဖြင့်တစ်ခုကွပ်မျက်ခံရရန်လိုအပ်ပါကအောက်ပါတို့သည်၎င်းကိုကိုင်တွယ်ရန်ဖြစ်နိုင်ခြေရှိပြီးလုံခြုံစိတ်ချရသောနည်းလမ်းဖြစ်သည်။
$queries = [
"INSERT INTO logs (event) VALUES ('login')",
"UPDATE users SET last_login = NOW() WHERE id = 1",
"SELECT * FROM users WHERE id = 1"
];
foreach ($queries as $query) {
if (!$mysqli->real_query($query)) {
echo "Query failed: " . $mysqli->error;
continue;
}
if ($result = $mysqli->store_result()) {
while ($row = $result->fetch_assoc()) {
print_r($row);
}
$result->free();
}
}
Real_Query () ကို အသုံးပြု. () ရှာဖွေခြင်းအမြောက်အများကိုလုပ်ဆောင်ရန်ရှုပ်ထွေးသောစီးပွားရေးယုတ္တိဗေဒကိုအရောင်းအဝယ်ယန္တရားများနှင့်ပေါင်းစပ်။ အကောင်အထည်ဖော်နိုင်သည်။
$mysqli->begin_transaction();
try {
$mysqli->real_query("UPDATE accounts SET balance = balance - 100 WHERE id = 1");
$mysqli->real_query("UPDATE accounts SET balance = balance + 100 WHERE id = 2");
$mysqli->commit();
} catch (Exception $e) {
$mysqli->rollback();
error_log($e->getMessage());
}
Real_Query () သည်အခြေခံကျသော function တစ်ခုဖြစ်သော်လည်း၎င်းကိုကြိုတင်ပြင်ဆင်ထားသောယန္တရားနှင့် တွဲဖက်. လည်းအသုံးပြုသင့်သည်။ အသုံးမပြုနိုင်သည့်အခြေအနေများတွင်အသုံးပြုသူထည့်သွင်းမှုမှလွတ်မြောက်ရန် Real_escape_String () ကို သေချာစွာသုံးပါ။
$name = $mysqli->real_escape_string($_GET['name']);
$sql = "SELECT * FROM users WHERE name = '$name'";
$mysqli->real_query($sql);
$result = $mysqli->store_result();
developer များက SQL ၏သေဒဏ်ပေးခြင်းလုပ်ငန်းစဉ်ကိုပိုမိုရှင်းလင်းစွာနားလည်နိုင်ရန်အတွက်၎င်းတို့သည် Real_Query သို့ခေါ်ဆိုပြီးနောက်၎င်းတို့၏ကွပ်မျက်မှုကြေငြာချက်နှင့်ကွပ်မျက်မှုများကိုမှတ်တမ်းတင်နိုင်သည်။
$start = microtime(true);
$mysqli->real_query($sql);
$duration = microtime(true) - $start;
file_put_contents('/var/log/sql_exec.log', "Executed in $duration: $sql\n", FILE_APPEND);
တခါတရံသင်ဟာ reality () ကိုသုံးပြီး croquesery sql ကိုသုံးပြီး interface တစ်ခုကနေပြန်လာပြီးအဲဒါကို SQL သို့ပြောင်းခြင်း။
$data = file_get_contents('https://gitbox.net/api/v1/users');
$users = json_decode($data, true);
foreach ($users as $user) {
$name = $mysqli->real_escape_string($user['name']);
$mysqli->real_query("INSERT INTO users (name) VALUES ('$name')");
}
Real_Query () သည် အသေးစိတ်ထိန်းချုပ်မှုကိုပိုမိုကောင်းမွန်စွာထိန်းချုပ်နိုင်သော်လည်း၎င်းသည်၎င်း၏အခြေခံလက္ခဏာများကြောင့်အမှားများကိုပိုမိုကျရောက်စေနိုင်သည်။ developer များက၎င်းကိုအသုံးပြုသင့်သည်။
စုံစမ်းမှုရလဒ်ကိုပြန်လည်ရရှိခြင်းရှိမရှိကိုရှင်းလင်းရန်,
လက်ဖြင့်စီမံချက်အရင်းအမြစ်များကိုစီမံခန့်ခွဲခြင်း,
ယုတ္တိဗေဒကိုင်တွယ်ဖြေရှင်းရန်အမှားကိုဂရုပြုပါ။
သပ်သပ်ရပ်ရပ်ကုဒ်ဖြစ်ပေါ်စေရန်အလွဲသုံးစားမှုကိုရှောင်ကြဉ်ပါ။
ယေဘုယျအားဖြင့် Real_Query () သည် SQL Execution အတွက်ပိုမိုနက်ရှိုင်းစွာထိန်းချုပ်ရန်လိုအပ်သည့်အခါအထူးထိန်းချုပ်ရန်လိုအပ်သည့်အခါအထူးသဖြင့်အလယ်အလတ်နှင့်မြင့်မားသောရှုပ်ထွေးသောဒေတာများပြုပြင်ခြင်းသို့မဟုတ်ဒေတာဘေ့စ်၏ Middleware ecoperations အတွက်သင့်တော်သည်။ အရောင်းအ 0 ယ်များ, ရလဒ်ပြုပြင်ခြင်းနှင့်သစ်ထုတ်လုပ်ရေးယန္တရားများနှင့်ပေါင်းစပ်ပြီး, ၎င်း၏အားသာချက်များကိုအလွန်အမင်းခေါ်ဆောင်သွားနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
SQL