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

คำสั่งที่เตรียมไว้คืออะไร
คำสั่งที่เตรียมไว้คืออะไร
คำสั่งที่เตรียมไว้เป็นคุณลักษณะของระบบจัดการฐานข้อมูลที่ช่วยให้คุณดำเนินการคำสั่ง SQL ได้อย่างปลอดภัยและมีประสิทธิภาพ โดยแยกโค้ด SQL ออกจากข้อมูลเพื่อป้องกันการโจมตีด้วยการแทรกคำสั่ง SQL
ตัวอย่าง: ใช้ตัวยึดตำแหน่ง (:name, :email) แทนการฝังข้อมูลที่ผู้ใช้ป้อนลงในคำสั่งโดยตรง
เหตุใดจึงควรใช้คำสั่งที่เตรียมไว้
เหตุใดจึงควรใช้คำสั่งที่เตรียมไว้
คำสั่งที่เตรียมไว้มีประโยชน์หลายประการ:
- ความปลอดภัย: ป้องกันการโจมตีด้วยการแทรกคำสั่ง SQL โดยจัดการอักขระพิเศษในข้อมูลที่ผู้ใช้ป้อน
- ประสิทธิภาพ: นำคำสั่งเดิมกลับมาใช้กับข้อมูลที่แตกต่างกันได้ ช่วยลดเวลาในการแยกวิเคราะห์คำสั่งสอบถาม
- การดูแลรักษา: ทำให้โค้ดอ่านและแก้ไขข้อบกพร่องได้ง่ายขึ้น
ประเด็นสำคัญ: ใช้คำสั่งที่เตรียมไว้เสมอเมื่อทำงานกับข้อมูลที่ผู้ใช้ให้มา
การสร้างคำสั่งที่เตรียมไว้
การสร้างคำสั่งที่เตรียมไว้
หากต้องการสร้างคำสั่งที่เตรียมไว้ ให้ทำตามขั้นตอนต่อไปนี้:
- เขียนคำสั่ง SQL พร้อมตัวยึดตำแหน่ง
- เตรียมคำสั่งโดยใช้การเชื่อมต่อฐานข้อมูล
- ผูกค่ากับตัวยึดตำแหน่ง
- ดำเนินการคำสั่ง
ตัวอย่าง:
เคล็ดลับ: ใช้อาร์เรย์แบบเชื่อมโยงเพื่อผูกค่าได้อย่างง่ายดาย
<?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 เพื่อรักษาความปลอดภัยให้การทำงานกับฐานข้อมูลแล้ว ในบทเรียนถัดไป เราจะสำรวจเทคนิคการเขียนคำสั่งสอบถามขั้นสูงด้วยการเชื่อมตารางและการรวมค่า มาเขียนโค้ดกันต่อ

คำถามที่พบบ่อย
บทเรียน “คำสั่งที่เตรียมไว้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คำสั่งที่เตรียมไว้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ฐานข้อมูล
- เชื่อมต่อกับฐานข้อมูล MySQL
- การจัดการตาราง
- การดำเนินการ CRUD
- คำสั่งที่เตรียมไว้
- การทำงานกับ PDO