Requêtes préparées et paramétrées

DéfinitionRequête préparée et paramétrée

L'étape de préparation de requête permet de précompiler une requête SQL côté serveur. Cela permet d'optimiser les performances lorsqu'une requête est utilisée plusieurs fois.

Cela permet également de paramétrer les requêtes au niveau d'un langage applicatif (comme PHP) sans utiliser de concaténation de chaîne (ce qui renforce notamment la sécurité du code).

Conseil

Utiliser des requêtes paramétrées au niveau des langages applicatifs.

ExempleRequête INSERT non préparée en PHP (déprécié)

1
$result = $connexion->query("INSERT INTO medicament (nom) VALUES ('Nouveau')");

ExempleRequête INSERT préparée en PHP

1
$result = $connexion->prepare("INSERT INTO medicament (nom) VALUES ('Nouveau')");
2
$result->execute();

ExempleRequête INSERT préparée et paramétrée en PHP (bindValue)

1
$result = $connexion->prepare("INSERT INTO medicament (nom) VALUES (:param1)");
2
$result->bindValue('param1', $name, PDO::PARAM_STR);
3
$result->execute();
4

ExempleRequête INSERT préparée et paramétrée en PHP (bindParam)

1
$result = $connexion->prepare("INSERT INTO medicament (nom) VALUES (:param1)");
2
$result->bindParam(':param1', $name, PDO::PARAM_STR);
3
4
$name = "Nouveau1";
5
$result->execute();
6
7
$name = "Nouveau2";
8
$result->execute();

ComplémentRequête préparée en PHP