Een belangrijk punt dat ik denk dat mensen hier missen, is dat met een database die geparameteriseerde queries ondersteunt, er geen 'ontsnapping' is om je zorgen over te maken. De database-engine combineert de gebonden variabelen niet in de SQL-instructie en analyseert vervolgens het geheel; De gebonden variabelen worden apart gehouden en nooit geparseerd als een generieke SQL-instructie.
Dat is waar de veiligheid en snelheid vandaan komen. De database-engine weet dat de tijdelijke aanduiding alleen gegevens bevat, dus wordt deze nooit geparseerd als een volledige SQL-instructie. De versnelling komt wanneer u een instructie één keer voorbereidt en vervolgens vele malen uitvoert; het canonieke voorbeeld is het invoegen van meerdere records in dezelfde tabel. In dit geval hoeft de database-engine slechts één keer te parseren, optimaliseren, enz.
Nu is er een probleem met database-abstractiebibliotheken. Ze vervalsen het soms door de gebonden variabelen in de SQL-instructie in te voegen met de juiste escaping. Toch is dat beter dan het zelf te doen.