En parameteriserad fråga är i huvudsak en fråga som abstraherar bort all indata. Detta har flera goda bieffekter, som att göra all inmatning ofarlig (dvs. inga skadliga injektioner är möjliga) och att göra den snabbare när den används upprepade gånger, eftersom den är förberedd och kompilerad, så att motorn vet hur den givna inmatningen ska tillämpas. Ett exempel i ren mysql är:
PREPARE qry FROM "INSERT INTO tbl VALUES (?)";
Satsen är nu kompilerad och cachad och kan köras upprepade gånger utan att behöva kompilera och tolka den igen:
SET @var = "some input";
EXECUTE qry USING @var;
SET @var = "some other input";
EXECUTE qry USING @var;
När det används i PHP är det vanligtvis så här (förkortat):
$stmt = prepare('INSERT INTO tbl VALUES(?)');
execute($stmt, array("some input"));
execute($stmt, array("some other input"));
execute($stmt, array("some more input"));