Requêtes préparées
Après les verrous et les transactions, voici une troisième notion importante pour la sécurisation des requêtes : les requêtes
préparées.
Une requête préparée, c'est en quelque sorte une requête stockée en mémoire (pour la session courante), et que l'on peut
exécuter à loisir. Mais avant d'entrer dans le vif du sujet, nous allons faire un détour par les variables utilisateur, qui sont
indispensables aux requêtes préparées.
Dans ce chapitre, nous apprendrons donc :
ce que sont les variables utilisateur et comment les définir ;
ce qu'est une requête préparée ;
comment créer, exécuter et supprimer une requête préparée ;
la manière d'utiliser les requêtes préparées ;
en quoi les requêtes préparées sont utiles pour la sécurisation d'une application ;
comment et dans quel cas on peut gagner en performance en utilisant les requêtes préparées.
Variables utilisateur
Définitions
Variable
Une variable est une information stockée, constituée d'un nom et d'une valeur.
On peut par exemple avoir la variable age (son nom), ayant pour valeur 24.
Variable utilisateur
Une variable utilisateur est une variable, définie par l'utilisateur. Les variables utilisateur MySQL doivent toujours être
précédées du signe @.
Une variable utilisateur peut contenir quatre types de valeur :
un entier (ex. : 24) ;
un réel (ex. : 7,8) ;
une chaîne de caractères (ex. : 'Hello World !') ;
une chaîne binaire, auquel cas il faut faire précéder la chaîne du caractère b (ex. : b'011001'). Nous n'en parlerons pas
dans ce cours.
Pour les noms de vos variables utilisateur utilisez uniquement des lettres, des chiffres, des _, des $ et des .. Attention
au fait que les noms des variables ne sont pas sensibles à la casse : @A est la même variable utilisateur que @a.
Il existe également ce qu'on appelle des variables système, qui sont des variables prédéfinies par MySQL, et des variables
locales, que nous verrons avec les procédures stockées.
Créer et modifier une variable utilisateur
SET
La manière la plus classique de créer ou modifier une variable utilisateur est d'utiliser la commande SET.
Code : SQL
SET @age = 24;
-- Ne pas oublier le
@
SET @salut = 'Hello World !', @poids = 7.8;
-- On peut créer
plusieurs variables en même temps
Si la variable utilisateur existe déjà, sa valeur sera modifiée, sinon, elle sera créée.
Partie 5 : Sécuriser et automatiser ses actions
255/414
www.openclassrooms.com
Après les verrous et les transactions, voici une troisième notion importante pour la sécurisation des requêtes : les requêtes
préparées.
Une requête préparée, c'est en quelque sorte une requête stockée en mémoire (pour la session courante), et que l'on peut
exécuter à loisir. Mais avant d'entrer dans le vif du sujet, nous allons faire un détour par les variables utilisateur, qui sont
indispensables aux requêtes préparées.
Dans ce chapitre, nous apprendrons donc :
ce que sont les variables utilisateur et comment les définir ;
ce qu'est une requête préparée ;
comment créer, exécuter et supprimer une requête préparée ;
la manière d'utiliser les requêtes préparées ;
en quoi les requêtes préparées sont utiles pour la sécurisation d'une application ;
comment et dans quel cas on peut gagner en performance en utilisant les requêtes préparées.
Variables utilisateur
Définitions
Variable
Une variable est une information stockée, constituée d'un nom et d'une valeur.
On peut par exemple avoir la variable age (son nom), ayant pour valeur 24.
Variable utilisateur
Une variable utilisateur est une variable, définie par l'utilisateur. Les variables utilisateur MySQL doivent toujours être
précédées du signe @.
Une variable utilisateur peut contenir quatre types de valeur :
un entier (ex. : 24) ;
un réel (ex. : 7,8) ;
une chaîne de caractères (ex. : 'Hello World !') ;
une chaîne binaire, auquel cas il faut faire précéder la chaîne du caractère b (ex. : b'011001'). Nous n'en parlerons pas
dans ce cours.
Pour les noms de vos variables utilisateur utilisez uniquement des lettres, des chiffres, des _, des $ et des .. Attention
au fait que les noms des variables ne sont pas sensibles à la casse : @A est la même variable utilisateur que @a.
Il existe également ce qu'on appelle des variables système, qui sont des variables prédéfinies par MySQL, et des variables
locales, que nous verrons avec les procédures stockées.
Créer et modifier une variable utilisateur
SET
La manière la plus classique de créer ou modifier une variable utilisateur est d'utiliser la commande SET.
Code : SQL
SET @age = 24;
-- Ne pas oublier le
@
SET @salut = 'Hello World !', @poids = 7.8;
-- On peut créer
plusieurs variables en même temps
Si la variable utilisateur existe déjà, sa valeur sera modifiée, sinon, elle sera créée.
Partie 5 : Sécuriser et automatiser ses actions
255/414
www.openclassrooms.com
