PHP ကျူတိုရီရယ်

PHP ပင်မစာမျက်နှာ PHP မိတ်ဆက် PHP ထည့်သွင်းပါ။ PHP Syntax PHP မှတ်ချက်များ PHP Variables များ PHP Echo / Print PHP Data အမျိုးအစားများ PHP စာတန်းများ PHP နံပါတ်များ PHP သင်္ချာ PHP Constants PHP Operator များ PHP If...Else...Elseif PHP Switch PHP Loops PHP လုပ်ဆောင်ချက်များ PHP Arrays PHP Superglobals PHP RegEx

PHP Forms

PHP Form ကိုင်တွယ်ခြင်း။ PHP Form Validation PHP Form လိုအပ်ပါသည်။ PHP Form URL/E-mail PHP Form ပြီးပါပြီ။

PHP အဆင့်မြင့်

PHP နေ့စွဲနှင့် အချိန် PHP ပါဝင်ပါတယ်။ PHP ဖိုင်ကိုင်တွယ်ခြင်း PHP ဖိုင်ကို ဖွင့်/ဖတ်ပါ။ PHP ဖိုင်ကို ဖန်တီး/ရေးပါ။ PHP ဖိုင်ကို တင်ခြင်း။ PHP Cookies PHP စက်ရှင်များ PHP Filters PHP Filters Advanced PHP ပြန်ခေါ်ခြင်းလုပ်ဆောင်ချက်များ PHP JSON PHP ခြွင်းချက်

PHP OOP

PHP OOP ဆိုတာဘာလဲ PHP အတန်းများ/အရာဝတ္ထုများ PHP Constructor PHP Destructor PHP Access Modifiers PHP Inheritance PHP Constants PHP Abstract အတန်းများ PHP မျက်နှာပြင်များ PHP လက္ခဏာများ PHP Static Methods PHP Static Properties PHP Namespaces PHP Iterables

MySQL ဒေတာဘေ့စ်

MySQL ဒေတာဘေ့စ် MySQL ချိတ်ဆက်မှု MySQL သည် DB ကိုဖန်တီးပါ။ MySQL ဇယားဖန်တီးပါ။ MySQL သည် Data ကိုထည့်သွင်းပါ။ MySQL နောက်ဆုံး ID ကိုရယူပါ။ MySQL တွင် Multiple ထည့်သွင်းပါ။ MySQL ပြင်ဆင်ထားသည်။ MySQL Data ကို ရွေးပါ။ MySQL ဘယ်မှာလဲ။ MySQL Order By MySQL က Data တွေကို ဖျက်လိုက်ပါ။ MySQL အပ်ဒိတ်ဒေတာ MySQL ကန့်သတ်ဒေတာ

PHP XML

PHP XML ပါဆာများ PHP SimpleXML Parser PHP SimpleXML - ရယူပါ။ PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX နိဒါန်း AJAX PHP AJAX ဒေတာဘေ့စ် AJAX XML AJAX တိုက်ရိုက်ရှာဖွေမှု AJAX စစ်တမ်း

PHP ဥပမာများ

PHP ဥပမာများ PHP Compiler PHP Quiz PHP လေ့ကျင့်ခန်းများ PHP Certificate

PHP အ ကိုးအကား

PHP ခြုံငုံသုံးသပ်ချက် PHP Array PHP ပြက္ခဒိန် PHP နေ့စွဲ PHP လမ်းညွှန် PHP အမှား PHP ခြွင်းချက် PHP ဖိုင်စနစ် PHP Filter PHP FTP PHP JSON PHP သော့ချက်စာလုံးများ PHP Libxml PHP Mail PHP သင်္ချာ PHP ထွေ PHP MySQLi PHP ကွန်ရက် PHP Output Control PHP RegEx PHP SimpleXML PHP Stream PHP String PHP Variable ကိုင်တွယ်ခြင်း။ PHP XML Parser PHP Zip PHP အချိန်ဇုန်များ

PHP MySQL ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များ


ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များသည် SQL ထိုးသွင်းမှုများနှင့် ပတ်သက်၍ အလွန်အသုံးဝင်သည်။


ပြင်ဆင်ထားသော ထုတ်ပြန်ချက်များနှင့် ဘောင်ဘောင်များ

ပြင်ဆင်ထားသောထုတ်ပြန်ချက်သည် တူညီသော (သို့မဟုတ်အလားတူ) SQL ကြေညာချက်များကို စွမ်းဆောင်ရည်မြင့်မားစွာဖြင့် ထပ်ခါတလဲလဲလုပ်ဆောင်ရန် အသုံးပြုသည့်အင်္ဂါရပ်တစ်ခုဖြစ်သည်။

ပြင်ဆင်ထားသော ထုတ်ပြန်ချက်များသည် အခြေခံအားဖြင့် ဤကဲ့သို့ လုပ်ဆောင်သည်-

  1. ပြင်ဆင်ခြင်း- SQL ထုတ်ပြန်ချက် နမူနာပုံစံကို ဖန်တီးပြီး ဒေတာဘေ့စ်သို့ ပေးပို့သည်။ အချို့သောတန်ဖိုးများကို ကန့်သတ်ချက်များဟု ခေါ်သည် ("?") ဟုခေါ်သည်။ ဥပမာ- MyGuests တန်ဖိုးများထဲသို့ ထည့်သွင်းပါ(?၊ ?၊ ?)
  2. ဒေတာဘေ့စ်သည် ခွဲခြမ်းစိပ်ဖြာခြင်း၊ စုစည်းခြင်းနှင့် SQL ထုတ်ပြန်ချက်ပုံစံ နမူနာပေါ်တွင် query optimization လုပ်ဆောင်ပြီး ၎င်းကို လုပ်ဆောင်ခြင်းမရှိဘဲ ရလဒ်ကို သိမ်းဆည်းသည်။
  3. Execute- နောက်ပိုင်းအချိန်တွင်၊ အပလီကေးရှင်းသည် တန်ဖိုးများကို ကန့်သတ်ဘောင်များနှင့် ချိတ်ဆက်ပြီး ဒေတာဘေ့စ်မှ ထုတ်ပြန်ချက်ကို လုပ်ဆောင်သည်။ အပလီကေးရှင်းသည် မတူညီသောတန်ဖိုးများဖြင့် အလိုရှိသည့်အတိုင်း ထုတ်ပြန်ချက်ကို အကြိမ်များစွာ လုပ်ဆောင်နိုင်သည်။

SQL ထုတ်ပြန်ချက်များအား တိုက်ရိုက်လုပ်ဆောင်ခြင်းနှင့် နှိုင်းယှဉ်ပါက ပြင်ဆင်သည့်ထုတ်ပြန်ချက်များတွင် အဓိက အားသာချက် သုံးခုရှိသည်။

  • မေးမြန်းမှုအပေါ် ပြင်ဆင်မှုကို တစ်ကြိမ်သာ ပြုလုပ်သောကြောင့် ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များသည် ခွဲခြမ်းစိတ်ဖြာသည့်အချိန်ကို လျှော့ချသည် (ထုတ်ပြန်ချက်ကို အကြိမ်များစွာ လုပ်ဆောင်သော်လည်း)
  • ဘောင်ခတ်ထားသော ကန့်သတ်ဘောင်များသည် မေးမြန်းမှုတစ်ခုလုံးမဟုတ်ဘဲ အကြိမ်တိုင်း ကန့်သတ်ဘောင်များကိုသာ ပေးပို့ရန်လိုအပ်သည့်အတွက် ဆာဗာသို့ လှိုင်းနှုန်းကို လျှော့ချပေးသည်။
  • ကွဲပြားသော ပရိုတိုကောကို အသုံးပြု၍ နောက်ပိုင်းတွင် ပို့လွှတ်သည့် ပါရာမီတာတန်ဖိုးများသည် မှန်ကန်စွာ လွတ်မြောက်ရန် မလိုအပ်သောကြောင့် ပြင်ဆင်ထားသော ထုတ်ပြန်ချက်များသည် SQL ထိုးခြင်းများနှင့် ဆန့်ကျင်ဘက်တွင် အလွန်အသုံးဝင်ပါသည်။ မူရင်းထုတ်ပြန်ချက် နမူနာပုံစံသည် ပြင်ပထည့်သွင်းမှုမှ ဆင်းသက်လာခြင်းမဟုတ်ပါက၊ SQL ထိုးသွင်းမှု မဖြစ်ပေါ်နိုင်ပါ။

MySQLi တွင်ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များ

အောက်ဖော်ပြပါ ဥပမာသည် MySQLi တွင် ပြင်ဆင်ထားသော ထုတ်ပြန်ချက်များနှင့် ဘောင်ဘောင်ဘောင်များကို အသုံးပြုသည်-

ဥပမာ (MySQLi with Prepared Statements)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// prepare and bind
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);

// set parameters and execute
$firstname = "John";
$lastname = "Doe";
$email = "[email protected]";
$stmt->execute();

$firstname = "Mary";
$lastname = "Moe";
$email = "[email protected]";
$stmt->execute();

$firstname = "Julie";
$lastname = "Dooley";
$email = "[email protected]";
$stmt->execute();

echo "New records created successfully";

$stmt->close();
$conn->close();
?>

အထက်ဖော်ပြပါ ဥပမာမှ ရှင်းပြရန် ကုဒ်လိုင်းများ

"INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"

ကျွန်ုပ်တို့၏ SQL တွင်၊ ကျွန်ုပ်တို့သည် ကိန်းပြည့်၊ စာကြောင်း၊ နှစ်ဆ သို့မဟုတ် blob တန်ဖိုးဖြင့် အစားထိုးလိုသည့် မေးခွန်းအမှတ်အသား (?) ကို ထည့်သွင်းပါသည်။

ထို့နောက် bind_param() လုပ်ဆောင်ချက်ကို ကြည့်လိုက်ပါ။

$stmt->bind_param("sss", $firstname, $lastname, $email);

ဤလုပ်ဆောင်ချက်သည် ပါရာမီတာများကို SQL query နှင့် ချိတ်ဆက်ပြီး ဒေတာဘေ့စ်အား မည်သို့သော ကန့်သတ်ချက်များကို ပြောပြသည်။ "sss" အငြင်းအခုံသည် ကန့်သတ်ချက်များဖြစ်သည့် ဒေတာအမျိုးအစားများကို ဖော်ပြသည်။ s character သည် parameter သည် string တစ်ခုဖြစ်ကြောင်း mysql ကိုပြောပြသည်။

အငြင်းအခုံသည် အမျိုးအစားလေးမျိုးထဲမှ တစ်ခု ဖြစ်နိုင်သည်-

  • i - ကိန်းပြည့်
  • d - နှစ်ဆ
  • s - ကြိုးတစ်ချောင်း
  • b - BLOB

ကန့်သတ်ချက်တစ်ခုစီအတွက် ၎င်းတို့ထဲမှတစ်ခုရှိရပါမည်။

mysql ကို မျှော်လင့်ရမည့် ဒေတာအမျိုးအစားကို ပြောပြခြင်းဖြင့်၊ ကျွန်ုပ်တို့သည် SQL ထိုးသွင်းခြင်း၏ အန္တရာယ်ကို လျှော့ချပေးသည်။

မှတ်ချက်- ကျွန်ုပ်တို့သည် ပြင်ပအရင်းအမြစ်များမှ မည်သည့်ဒေတာကိုမဆို ထည့်သွင်းလိုပါက (အသုံးပြုသူထည့်သွင်းမှုကဲ့သို့) ဒေတာကို သန့်စင်ပြီး မှန်ကန်ကြောင်း အတည်ပြုရန် အလွန်အရေးကြီးပါသည်။



PDO တွင်ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များ

အောက်ပါဥပမာသည် PDO တွင်ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များနှင့်ဘောင်ဘောင်များကိုအသုံးပြုသည်-

ဥပမာ (PDO ဖြင့် ပြင်ဆင်ထားသော ထုတ်ပြန်ချက်)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  // prepare sql and bind parameters
  $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email)
  VALUES (:firstname, :lastname, :email)");
  $stmt->bindParam(':firstname', $firstname);
  $stmt->bindParam(':lastname', $lastname);
  $stmt->bindParam(':email', $email);

  // insert a row
  $firstname = "John";
  $lastname = "Doe";
  $email = "[email protected]";
  $stmt->execute();

  // insert another row
  $firstname = "Mary";
  $lastname = "Moe";
  $email = "[email protected]";
  $stmt->execute();

  // insert another row
  $firstname = "Julie";
  $lastname = "Dooley";
  $email = "[email protected]";
  $stmt->execute();

  echo "New records created successfully";
} catch(PDOException $e) {
  echo "Error: " . $e->getMessage();
}
$conn = null;
?>