Nâng CaoPHP iconPHP

PDO là gì và cách phòng chống SQL injection bằng PDO?

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ồi execute([":id" => $id]).
  • Database engine sẽ không bao giờ parse tham số như SQL code.

Xem toàn bộ PHP cùng filter theo level & chủ đề con.

Mở danh sách PHP