(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.0)
PDOStatement::bindValue — Associe une valeur à un paramètre
Associe une valeur à un nom correspondant ou à un point d'interrogation (comme paramètre fictif) dans la requête SQL qui a été utilisé pour préparer la requête.
paramIdentifiant du paramètre. Pour une requête préparée utilisant les marqueurs, cela sera un nom de paramètre de la forme :nom. Pour une requête préparée utilisant les points d'interrogation (comme paramètre fictif), cela sera un tableau indexé numériquement qui commence à la position 1 du paramètre.
valueLa valeur à associer au paramètre.
type
Type de données explicite pour le paramètre utilisant les constantes
PDO::PARAM_*.
Émet une erreur de niveau E_WARNING si l'attribut PDO::ATTR_ERRMODE est défini
à PDO::ERRMODE_WARNING.
Lève une exception PDOException si l'attribut PDO::ATTR_ERRMODE est défini
à PDO::ERRMODE_EXCEPTION.
Exemple #1 Exécute une requête préparée avec des marqueurs nommés
<?php
/* Exécute une requête préparée en associant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
FROM fruit
WHERE calories < :calories AND couleur = :couleur');
/* Définit la valeur d'un paramètre en utilisant son nom */
$sth->bindValue('calories', $calories, PDO::PARAM_INT);
/* Optionnellement, les noms des paramètres peuvent être préfixés par des deux points " :" */
$sth->bindValue(':couleur', $couleur, PDO::PARAM_STR);
$sth->execute();
?>Exemple #2 Exécute une requête préparée avec des points d'interrogation comme paramètre fictif
<?php
/* Exécute une requête préparée en associant des variables PHP */
$calories = 150;
$couleur = 'rouge';
$sth = $dbh->prepare('SELECT nom, couleur, calories
FROM fruit
WHERE calories < ? AND couleur = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $couleur, PDO::PARAM_STR);
$sth->execute();
?>