И двете. Подготвените оператори ще ви предпазят от SQL инжекции, ако и само ако ги използвате по правилен начин. Просто „използването“ на подготвени оператори няма да помогне, ако все още интерполирате променливи за имена на таблици/колони например.
$stmt = "SELECT * FROM $table WHERE $column = ?"; //not good...