sql >> Database teknologi >  >> RDS >> Mysql

Eksempler på parametriserede forespørgsler

En parameteriseret forespørgsel er i det væsentlige en forespørgsel, der abstraherer alt input. Dette har flere gode bivirkninger, som at gøre alle input harmløse (dvs. ingen skadelige indsprøjtninger er mulige) og at gøre det hurtigere, når det bruges gentagne gange, da det er præparset og kompileret, så motoren ved, hvordan man anvender det givne input. Et eksempel i ren mysql er:

PREPARE qry FROM "INSERT INTO tbl VALUES (?)";

Sætningen er nu kompileret og cachelagret og kan udføres gentagne gange uden at skulle kompilere og fortolke den igen:

SET @var = "some input";
EXECUTE qry USING @var;
SET @var = "some other input";
EXECUTE qry USING @var;

Når det bruges i PHP, er det normalt sådan (forkortet):

$stmt = prepare('INSERT INTO tbl VALUES(?)');
execute($stmt, array("some input"));
execute($stmt, array("some other input"));
execute($stmt, array("some more input"));


  1. Ændre en MySQL-kolonne til at være AUTO_INCREMENT

  2. Sådan får du den aktuelle dato i PostgreSQL

  3. Sådan vises alle lagrede procedurer i Oracle-databasen

  4. Brug af parameter som kolonnenavn i Postgres-funktionen