De même, si vous assignez une valeur à @essai dans la session 2, @essai vaudra toujours 3 pour la session 1.
Principe et syntaxe des requêtes préparées
Principe
Une requête préparée, c'est en fait un modèle de requête que l'on enregistre et auquel on donne un nom. On va ensuite pouvoir
l'exécuter en l'appelant grâce à son nom, et en lui passant éventuellement un ou plusieurs paramètres.
Par exemple, si vous avez régulièrement besoin d'aller chercher des informations sur vos clients à partir de leur adresse email
dans une session, plutôt que de faire :
Code : SQL
SELECT * FROM Client WHERE email = 'truc@email.com';
SELECT * FROM Client WHERE email = 'machin@email.com';
SELECT * FROM Client WHERE email = 'bazar@email.com';
SELECT * FROM Client WHERE email = 'brol@email.com';
Vous pouvez préparer une requête modèle :
Code : SQL
SELECT * FROM Client WHERE email = ?
Où le ? représente un paramètre. Ensuite, il suffit de l'appeler par son nom en lui passant 'truc@email.com', ou
'machin@email.com', selon les besoins du moment.
Bien entendu, on parle d'un cas où l'on n'a qu'une seule adresse email à la fois. Typiquement, le cas où l'on s'occupe
d'un client à la fois. Sinon, bien entendu, une simple clause email IN ('truc@email.com',
'machin@email.com', 'bazar@email.com', 'brol@email.com') suffirait.
Portée
Tout comme les variables utilisateur, une requête préparée n'existe que pour la session qui la crée.
Syntaxe
Voyons comment faire tout ça !
Préparation d'une requête
Pour préparer une requête, il faut renseigner deux éléments :
le nom qu'on donne à la requête préparée ;
la requête elle-même, avec un ou plusieurs paramètres (représentés par un ?).
Voici la syntaxe à utiliser :
Code : SQL
PREPARE nom_requete
FROM 'requete_preparable';
Exemples
Code : SQL
Partie 5 : Sécuriser et automatiser ses actions
258/414
www.openclassrooms.com
Précédent

- 258/413

Suivant