Obydwa. Przygotowane zestawienia ochronią Cię przed wstrzyknięciami SQL wtedy i tylko wtedy, gdy użyjesz ich we właściwy sposób. Samo „używanie” przygotowanych instrukcji nie pomoże, jeśli nadal interpolujesz zmienne dla np. nazw tabel/kolumn.
$stmt = "SELECT * FROM $table WHERE $column = ?"; //not good...