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

PDO คืออะไร
PDO คืออะไร
PDO (วัตถุข้อมูล PHP) คือชั้นการเข้าถึงฐานข้อมูลที่มีอินเทอร์เฟซแบบเดียวกันสำหรับการทำงานกับระบบฐานข้อมูลต่าง ๆ โดยรองรับฐานข้อมูลหลากหลายประเภท เช่น MySQL, PostgreSQL, เอสคิวไลต์ และอื่น ๆ
คุณลักษณะสำคัญ:
- ไม่ขึ้นกับฐานข้อมูล (ทำงานกับฐานข้อมูลได้หลายประเภท)
- รองรับคำสั่งที่เตรียมไว้ในตัว
- มีตัวเลือกการจัดการข้อผิดพลาดขั้นสูง
เคล็ดลับ: PDO เป็นตัวเลือกที่ยอดเยี่ยมสำหรับสร้างแอปพลิเคชันเว็บที่ปลอดภัยและรองรับการขยายตัว
การเชื่อมต่อฐานข้อมูลด้วย PDO
การเชื่อมต่อฐานข้อมูลด้วย PDO
หากต้องการเชื่อมต่อฐานข้อมูลโดยใช้ PDO คุณต้องมีสิ่งต่อไปนี้:
- ชื่อแหล่งข้อมูล (DSN) ซึ่งประกอบด้วยประเภทฐานข้อมูล โฮสต์ และชื่อฐานข้อมูล
- ชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง
ตัวอย่าง:
เคล็ดลับ: ใช้ตัวแปรสภาพแวดล้อมหรือไฟล์การกำหนดค่าเพื่อจัดเก็บข้อมูลรับรองที่ละเอียดอ่อน
<?php
$dsn = "mysql:host=localhost;dbname=testdb";
$username = "root";
$password = "";
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully!";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
การดำเนินการคำสั่งสอบถาม
การดำเนินการคำสั่งสอบถาม
PDO มีเมธอดหลักสองเมธอดสำหรับดำเนินการคำสั่งสอบถาม:
exec(): ใช้สำหรับคำสั่งที่ไม่ส่งคืนผลลัพธ์ (เช่นINSERT,UPDATE)query(): ใช้สำหรับคำสั่งที่ส่งคืนผลลัพธ์ (เช่นSELECT)
ตัวอย่าง:
<?php
// Insert a record
$pdo->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@mail.com')");
// Retrieve records
$stmt = $pdo->query("SELECT * FROM users");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
}
?>
การใช้คำสั่งที่เตรียมไว้
การใช้คำสั่งที่เตรียมไว้
คำสั่งที่เตรียมไว้มีความสำคัญต่อการทำงานกับฐานข้อมูลอย่างปลอดภัยและมีประสิทธิภาพ ตัวอย่าง:
เคล็ดลับ: ใช้ตัวยึดตำแหน่ง (:email) เพื่อป้องกันการแทรกคำสั่ง SQL
<?php
$sql = "SELECT * FROM users WHERE email = :email";
$stmt = $pdo->prepare($sql);
$stmt->execute(["email" => "alice@mail.com"]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
echo "Name: " . $user["name"];
?>
การจัดการข้อผิดพลาดใน PDO
การจัดการข้อผิดพลาดใน PDO
PDO รองรับโหมดการจัดการข้อผิดพลาดสามโหมด:
ERRMODE_SILENT: ต้องตรวจสอบข้อผิดพลาดด้วยตนเองERRMODE_WARNING: ข้อผิดพลาดจะทำให้เกิดคำเตือนของ PHPERRMODE_EXCEPTION: ข้อผิดพลาดจะส่งข้อยกเว้น (แนะนำ)
ตัวอย่าง:
<?php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$pdo->exec("INVALID SQL STATEMENT");
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
การดึงข้อมูล
การดึงข้อมูล
PDO มีเมธอดสำหรับดึงข้อมูลหลายเมธอด:
fetch(): ดึงข้อมูลหนึ่งแถวfetchAll(): ดึงข้อมูลทุกแถวfetchColumn(): ดึงค่าจากหนึ่งคอลัมน์
ตัวอย่าง:
<?php
$stmt = $pdo->query("SELECT name FROM users");
while ($name = $stmt->fetchColumn()) {
echo "User: " . $name . "<br>";
}
?>การจัดการธุรกรรม
การจัดการธุรกรรม
ใช้ธุรกรรมเพื่อดำเนินการคำสั่งหลายรายการให้เป็นหน่วยเดียว ตัวอย่าง:
เคล็ดลับ: ใช้ธุรกรรมเพื่อให้มั่นใจว่าข้อมูลยังคงถูกต้องครบถ้วน
<?php
try {
$pdo->beginTransaction();
$pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@mail.com')");
$pdo->exec("INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@mail.com')");
$pdo->commit();
echo "Transaction successful!";
} catch (PDOException $e) {
$pdo->rollBack();
echo "Transaction failed: " . $e->getMessage();
}
?>
ทำได้ยอดเยี่ยม
ทำได้ยอดเยี่ยม
ขอแสดงความยินดี คุณได้เรียนรู้วิธีใช้ PDO เพื่อทำงานกับฐานข้อมูลอย่างปลอดภัยและมีประสิทธิภาพแล้ว รวมถึงการเชื่อมต่อ การดำเนินการคำสั่งสอบถาม และการจัดการธุรกรรม ในบทเรียนถัดไป เราจะสำรวจเทคนิคการเขียนคำสั่ง SQL ขั้นสูงด้วย PDO มาเขียนโค้ดกันต่อ

คำถามที่พบบ่อย
บทเรียน “การทำงานกับ PDO” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การทำงานกับ PDO” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 6 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การทำงานกับ PDO”
ใช้ PHP Data Objects (PDO) เพื่อโต้ตอบกับฐานข้อมูล คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 6 จากทั้งหมด 6 บทเรียน
บทเรียน “การทำงานกับ PDO” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ฐานข้อมูล
- เชื่อมต่อกับฐานข้อมูล MySQL
- การจัดการตาราง
- การดำเนินการ CRUD
- คำสั่งที่เตรียมไว้
- การทำงานกับ PDO