|
8.101.23 PDO::quote()
Protège une chaîne pour l'utiliser dans une requête SQL PDO
[ Exemples avec pdo_quote ] CVS uniquement
string
PDO::quote (
string
string
,
int
parameter_type
)
PDO::quote
place des guillemets simples autour
d'une chaîne d'entrées (si nécessaire) et échappe les caractères spéciaux présents dans la
chaîne d'entrées, en utilisant le style de protection approprié au driver courant.
Si vous utilisez cette fonction pour construire des requêtes SQL, vous êtes
vivement
invité à utiliser
PDO::prepare
pour préparer les requêtes SQL avec
des paramètres liées au lieu d'utiliser
PDO::quote
pour
interpréter les entrées utilisateurs dans la requête SQL. Les requêtes préparées
avec des paramètres liées ne sont pas seulement plus portables, plus maléables et
plus sécurisées mais bien plus rapides à exécuter que d'interpréter les requêtes, vû que
les côtés client et serveur peuvent mettre en cache une version compilée de la requête.
Tous les drivers PDO n'implémentent pas cette méthode (comme PDO_ODBC). Utilisez
les requêtes préparées à la place.
-
string
-
La chaîne à échapper.
-
parameter_type
-
Fournit un type de données pour les drivers qui ont des styles alternatifs
d'échappement. La valeur par défaut est PDO::PARAM_STR.
Retourne une chaîne échappée qui est théoriquement sûr à passer
dans une requête SQL. Retourne
FALSE
si le driver ne supporte pas la protection
en ce sens.
| Echappement d'une chaîne normale |
<?php $conn = new PDO('sqlite:/home/lynn/music.sql3');
/* Chaîne simple */ $string = 'Nice'; print "Chaîne non échappée : $string\n"; print "Chaîne échappée : " . $conn->quote($string) . "\n"; ?>
|
| Echappement d'une chaîne dangereuse |
<?php $conn = new PDO('sqlite:/home/lynn/music.sql3');
/* Chaîne dangereuse */ $string = 'Chaîne \' particulière'; print "Chaîne non échappée : $string\n"; print "Chaîne échappée :" . $conn->quote($string) . "\n"; ?>
|
| Echappement d'une chaîne complexe |
<?php $conn = new PDO('sqlite:/home/lynn/music.sql3');
/* Chaîne complexe */ $string = "Co'mpl''exe \"ch'\"aîne"; print "Chaîne non échappée: $string\n"; print "Chaîne échappée : " . $conn->quote($string) . "\n"; ?>
|
|