PDO::prepare

PHP PDO 参考手册Manuel de référence PHP PDO

PDO::prepare — Prépare une instruction SQL pour exécution et retourne un objet PDOStatement (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)


Description

Syntaxe

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Prépare une instruction SQL en vue de son exécution par la méthode PDOStatement::execute(). L'instruction SQL peut contenir zéro ou plusieurs marqueurs de paramètre nommés (:name) ou des points d'interrogation (?). Les paramètres seront remplacés lors de l'exécution de l'instruction.

Vous ne pouvez pas mélanger les marqueurs de paramètre nommés (:name) et les points d'interrogation (?) dans la même instruction SQL ; vous devez choisir un style.

Les paramètres d'une instruction SQL préparée seront remplacés par des valeurs réelles lorsque la méthode PDOStatement::execute() est appelée.


Parameters

instruction
Une instruction SQL valide.

driver_options
Ce tableau contient une ou plusieurs paires clé=>valeur pour définir des attributs sur l'objet PDOStatement. L'utilisation la plus courante consiste à définir la valeur PDO::ATTR_CURSOR sur PDO::CURSOR_SCROLL pour demander un curseur défilable.


Valeurs de retour

En cas de succès, PDO::prepare() renvoie un objet PDOStatement. En cas d'échec, elle renvoie FALSE ou lève une PDOException.


Exemples

Préparer une instruction SQL à l'aide de paramètres nommés (:name)

Exemple

<?php /*Passage de valeurs à une instruction préparée à l'aide d'un tableau*/ $sql = 'SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'; $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); $sth->execute(array(':calories' => 150, ':colour' => 'red')); $red = $sth->fetchAll(); $sth->execute(array(':calories' => 175, ':colour' => 'yellow')); $yellow = $sth->fetchAll(); ?>

Préparer une requête SQL à l'aide de paramètres de type point d'interrogation (?)

Exemple

<?php /*Passage de valeurs à une requête préparée à l'aide d'un tableau*/ $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->execute(array(150, 'red')); $red = $sth->fetchAll(); $sth->execute(array(175, 'yellow')); $yellow = $sth->fetchAll(); ?>

PHP PDO 参考手册Manuel de référence PHP PDO

Autres extensions