Tanken med förberedda satser är att man inte sammanfogar variabler, istället binder man parametrarna. Skillnaden är att variabeln aldrig infogas i SQL, snarare hanterar MySQL-motorn variabeln separat, vilket inte lämnar någon möjlighet till SQL-injektion. Detta har också den extra bonusen att ingen flykt eller förbearbetning av variabeln krävs.
$query = $db->prepare("SELECT password FROM login WHERE username = :username");
$query->execute(array(':username' => $username));