Cả hai. Các câu lệnh được chuẩn bị sẵn sẽ bảo vệ bạn khỏi việc đưa vào SQL nếu và chỉ khi, bạn sử dụng chúng một cách đúng đắn. Ví dụ:chỉ 'sử dụng' các câu lệnh đã chuẩn bị sẵn sẽ không hữu ích nếu bạn vẫn đang nội suy các biến cho tên bảng / cột.
$stmt = "SELECT * FROM $table WHERE $column = ?"; //not good...