8.101 Fonctions PDO
8 Référence des fonctions
Manuel PHP
. Introduction . Installation . Configuration à l'exécution . Drivers PDO . Connexions et gestionnaire de connexion . Transactions et validation automatique (auto-commit) . Requêtes préparées et procédures stockées . Erreurs et gestionnaire des erreurs . Les objets larges (LOBs) . Classes pré-définies . Constantes pré-définies . PDO::beginTransaction . PDO::commit . PDO::__construct . PDO::errorCode . PDO::errorInfo . PDO::exec . PDO::getAttribute . PDO::getAvailableDrivers . PDO::lastInsertId ->PDO::prepare . PDO::query . PDO::quote . PDO::rollBack . PDO::setAttribute . PDOStatement::bindColumn . PDOStatement::bindParam . PDOStatement::bindValue . PDOStatement::closeCursor . PDOStatement::columnCount . PDOStatement::errorCode . PDOStatement::errorInfo . PDOStatement::execute . PDOStatement::fetch . PDOStatement::fetchAll . PDOStatement::fetchColumn . PDOStatement::getAttribute . PDOStatement::getColumnMeta . PDOStatement::nextRowset . PDOStatement::rowCount . PDOStatement::setAttribute . PDOStatement::setFetchMode
|
8.101.21 PDO::prepare()
Prépare une requête à l'exécution et retourne un objet
[ Exemples avec pdo_prepare ] CVS uniquement
PDOStatement
PDO::prepare (
string
statement
,
array
driver_options
)
Prépare une requête SQL à être exécutée par la méthode
PDOStatement::execute
. La requête SQL peut contenir
zéro ou plusieurs noms (:name) ou marqueurs (?) pour lesquels les valeurs
réelles seront substituées lorsque la requête sera exécutée.
Vous ne pouvez pas utiliser les marqueurs nommés et les marqueurs interrogatifs
dans une même requête SQL ; choisissez l'un ou l'autre.
Appeler
PDO::prepare
et
PDOStatement::execute
pour les requêtes
qui doivent être exécutées plusieurs fois avec différentes valeurs de
paramètres optimisent les performances de votre application en autorisant
le driver à négocier coté client et/ou serveur avec le cache des requêtes
et les méta-informations, et aident à prévenir les attaques par injection
SQL en éliminant le besoin de protéger les paramètres manuellement.
PDO émulera les requêtes préparées / les paramètres liés pour les drivers
qui ne le supportent pas nativement, et peut également réécrire les
paramètres nommés ou les marqueurs en quelques choses de plus
approprié, si le driver supporte un style mais pas l'autre.
-
statement
-
Doit être une requête SQL valide pour le serveur de base de données cible.
-
driver_options
-
Ce tableau contient une ou plusieurs paires clé=>valeur pour définir
les valeurs des attributs pour l'objet PDOStatement que cette méthode
retourne. Vous pouvez utiliser ceci pour définir la valeur
PDO::ATTR_CURSOR
à
PDO::CURSOR_SCROLL
pour demander un curseur scrollable.
Quelques drivers ont des options spécifiques qui peuvent être définies
au moment de la préparation.
Si le serveur de base de données prépare avec succès cette requête,
PDO::prepare
retourne un objet PDOStatement.
| Prépare une requête SQL avec des paramètres nommés |
<?php /* Exécute une requête préparée en passant un tableau de valeurs */ $sql = 'SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur'; $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_FWDONLY)); $sth->execute(array(':calories' => 150, ':couleur' => 'rouge')); $red = $sth->fetchAll(); $sth->execute(array(':calories' => 175, ':couleur' => 'jaune')); $yellow = $sth->fetchAll(); ?>
|
| Prépare une requête SQL avec des marqueurs |
<?php /* Exécute une requête préparée en passant un tableau de valeurs */ $sth = $dbh->prepare('SELECT nom, couleur, calories FROM fruit WHERE calories < ? AND couleur = ?'); $sth->execute(array(150, 'rouge')); $red = $sth->fetchAll(); $sth->execute(array(175, 'jaune')); $yellow = $sth->fetchAll(); ?>
|
|