Begge. Forberedte sætninger vil beskytte dig mod SQL-injektioner, hvis, og kun hvis, du bruger dem på en korrekt måde. Blot at bruge forberedte udsagn hjælper ikke, hvis du stadig interpolerer variabler for f.eks. tabel-/kolonnenavne.
$stmt = "SELECT * FROM $table WHERE $column = ?"; //not good...