PDO (PHP Data Objects) là lớp trừu tượng cung cấp giao diện nhất quán để truy cập database.
- Phòng chống SQL injection bằng prepared statements: thay vì
"SELECT FROM users WHERE id=$id", dùng$stmt = $pdo->prepare("SELECT FROM users WHERE id=?"); $stmt->execute([$id]);. - Placeholder
?đảm bảo input của người dùng được xử lý như dữ liệu, không phải code thực thi. - Named placeholder cũng tương tự:
"... WHERE id=:id"rồiexecute([":id" => $id]). - Database engine sẽ không bao giờ parse tham số như SQL code.
PDO (PHP Data Objects) is an abstraction layer providing consistent database access.
- Prevent SQL injection with prepared statements: instead of
"SELECT FROM users WHERE id=$id", use$stmt = $pdo->prepare("SELECT FROM users WHERE id=?"); $stmt->execute([$id]);. - The placeholder
?ensures user input is treated as data, not executable code. - Named placeholders work similarly:
"... WHERE id=:id"thenexecute([":id" => $id]). - The database engine never interprets the parameter as SQL code.