PDO (PHP Data Objects) là tầng abstraction cung cấp API thống nhất để truy cập database.
Chặn SQL injection bằng prepared statement thay vì nối chuỗi:
php
// nguy hiểm: nối thẳng biến vào câu lệnh
// "SELECT * FROM users WHERE id=$id"
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=?");
$stmt->execute([$id]);
// named placeholder
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id");
$stmt->execute([":id" => $id]);Placeholder đảm bảo input của người dùng được xử lý như dữ liệu chứ không phải code — database engine không bao giờ parse tham số thành SQL.