0Pricing
PHP Academy · บทเรียน

คำสั่งที่เตรียมไว้

รักษาความปลอดภัยให้คำค้นฐานข้อมูลด้วยคำสั่งที่เตรียมไว้

คำสั่งที่เตรียมไว้ เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 5 จากทั้งหมด 6 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 6 บทเรียน

ภาพรวมคำสั่งที่เตรียมไว้

คำสั่งที่เตรียมไว้

ยินดีต้อนรับสู่บทเรียนถัดไป ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับคำสั่งที่เตรียมไว้และวิธีที่คำสั่งเหล่านี้ช่วยให้การทำงานกับฐานข้อมูลของคุณปลอดภัยและมีประสิทธิภาพ มาเริ่มกันเลย

คำสั่งที่เตรียมไว้ — ภาพประกอบ 1

คำสั่งที่เตรียมไว้คืออะไร

คำสั่งที่เตรียมไว้คืออะไร

คำสั่งที่เตรียมไว้เป็นคุณลักษณะของระบบจัดการฐานข้อมูลที่ช่วยให้คุณดำเนินการคำสั่ง SQL ได้อย่างปลอดภัยและมีประสิทธิภาพ โดยแยกโค้ด SQL ออกจากข้อมูลเพื่อป้องกันการโจมตีด้วยการแทรกคำสั่ง SQL

ตัวอย่าง: ใช้ตัวยึดตำแหน่ง (:name, :email) แทนการฝังข้อมูลที่ผู้ใช้ป้อนลงในคำสั่งโดยตรง

เหตุใดจึงควรใช้คำสั่งที่เตรียมไว้

เหตุใดจึงควรใช้คำสั่งที่เตรียมไว้

คำสั่งที่เตรียมไว้มีประโยชน์หลายประการ:

  • ความปลอดภัย: ป้องกันการโจมตีด้วยการแทรกคำสั่ง SQL โดยจัดการอักขระพิเศษในข้อมูลที่ผู้ใช้ป้อน
  • ประสิทธิภาพ: นำคำสั่งเดิมกลับมาใช้กับข้อมูลที่แตกต่างกันได้ ช่วยลดเวลาในการแยกวิเคราะห์คำสั่งสอบถาม
  • การดูแลรักษา: ทำให้โค้ดอ่านและแก้ไขข้อบกพร่องได้ง่ายขึ้น

ประเด็นสำคัญ: ใช้คำสั่งที่เตรียมไว้เสมอเมื่อทำงานกับข้อมูลที่ผู้ใช้ให้มา

การสร้างคำสั่งที่เตรียมไว้

การสร้างคำสั่งที่เตรียมไว้

หากต้องการสร้างคำสั่งที่เตรียมไว้ ให้ทำตามขั้นตอนต่อไปนี้:

  1. เขียนคำสั่ง SQL พร้อมตัวยึดตำแหน่ง
  2. เตรียมคำสั่งโดยใช้การเชื่อมต่อฐานข้อมูล
  3. ผูกค่ากับตัวยึดตำแหน่ง
  4. ดำเนินการคำสั่ง

ตัวอย่าง:

เคล็ดลับ: ใช้อาร์เรย์แบบเชื่อมโยงเพื่อผูกค่าได้อย่างง่ายดาย

<?php
  $sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["name" => "Alice", "email" => "alice@mail.com"]);
?>

การผูกค่า

การผูกค่า

ใช้เมธอด bindParam() หรือ bindValue() เพื่อผูกค่ากับตัวยึดตำแหน่ง ตัวอย่าง:

<?php
  $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
  $stmt->bindParam(":name", $name);
  $stmt->bindParam(":email", $email);

  $name = "Bob";
  $email = "bob@mail.com";
  $stmt->execute();
?>

การใช้คำสั่งที่เตรียมไว้สำหรับคำสั่ง SELECT

การใช้คำสั่งที่เตรียมไว้สำหรับคำสั่ง SELECT

คำสั่งที่เตรียมไว้ทำงานกับคำสั่ง SQL ได้ทุกประเภท รวมถึง SELECT ตัวอย่าง:

เคล็ดลับ: ใช้ fetchAll() เพื่อดึงข้อมูลหลายแถว

<?php
  $sql = "SELECT * FROM users WHERE name = :name";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["name" => "Alice"]);
  $result = $stmt->fetch(PDO::FETCH_ASSOC);

  echo "Name: " . $result["name"] . ", Email: " . $result["email"];
?>

การนำคำสั่งที่เตรียมไว้กลับมาใช้ใหม่

การนำคำสั่งที่เตรียมไว้กลับมาใช้ใหม่

คุณสามารถนำคำสั่งที่เตรียมไว้กลับมาใช้กับค่าที่แตกต่างกันได้ ซึ่งช่วยเพิ่มประสิทธิภาพ ตัวอย่าง:

<?php
  $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

  $users = [
    ["name" => "Charlie", "email" => "charlie@mail.com"],
    ["name" => "Dave", "email" => "dave@mail.com"]
  ];

  foreach ($users as $user) {
    $stmt->execute($user);
  }

  echo "Multiple records inserted successfully!";
?>

การป้องกันการแทรกคำสั่ง SQL

การป้องกันการแทรกคำสั่ง SQL

คำสั่งที่เตรียมไว้จะจัดการอักขระพิเศษในข้อมูลที่ผู้ใช้ป้อน เพื่อป้องกันการโจมตีด้วยการแทรกคำสั่ง SQL ตัวอย่าง:

<?php
  $sql = "SELECT * FROM users WHERE email = :email";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["email" => "' OR 1=1; --"]);
  $result = $stmt->fetch();

  if ($result) {
    echo "User found.";
  } else {
    echo "No user found.";
  }
?>

ทำได้ยอดเยี่ยม

ทำได้ยอดเยี่ยม

ขอแสดงความยินดี คุณได้เรียนรู้วิธีใช้คำสั่งที่เตรียมไว้ใน PHP เพื่อรักษาความปลอดภัยให้การทำงานกับฐานข้อมูลแล้ว ในบทเรียนถัดไป เราจะสำรวจเทคนิคการเขียนคำสั่งสอบถามขั้นสูงด้วยการเชื่อมตารางและการรวมค่า มาเขียนโค้ดกันต่อ

คำสั่งที่เตรียมไว้ — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “คำสั่งที่เตรียมไว้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คำสั่งที่เตรียมไว้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 6 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คำสั่งที่เตรียมไว้”

รักษาความปลอดภัยให้คำค้นฐานข้อมูลด้วยคำสั่งที่เตรียมไว้ คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 5 จากทั้งหมด 6 บทเรียน

บทเรียน “คำสั่งที่เตรียมไว้” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่ฐานข้อมูล
  2. เชื่อมต่อกับฐานข้อมูล MySQL
  3. การจัดการตาราง
  4. การดำเนินการ CRUD
  5. คำสั่งที่เตรียมไว้
  6. การทำงานกับ PDO
← กลับไปที่ PHP Academy