PDOStatement::bindParam — Lie un paramètre au nom de variable spécifié (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDOStatement::bindParam ( paramètre $ mixte , variable & $ variable [, int $data_type = PDO::PARAM_STR [, int $length [, options $driver_options mixtes ]]] )
Liez une variable PHP à l'espace réservé nommé ou au point d'interrogation correspondant dans l'instruction SQL utilisée pour le prétraitement. Contrairement à PDOStatement::bindValue(), cette variable est liée comme référence et ne prend sa valeur que lorsque PDOStatement::execute() est appelé.
La plupart des paramètres sont des paramètres d'entrée, c'est-à-dire qu'ils sont utilisés en lecture seule pour créer la requête. Certains pilotes prennent en charge l'appel de procédures stockées et le renvoi de données comme paramètres de sortie, et certains les prennent en charge comme paramètres d'entrée/sortie, à la fois pour l'envoi de données et pour la réception de données mises à jour.
paramètre identifiant du paramètre . Pour les instructions préparées utilisant des espaces réservés nommés, le nom du paramètre doit être au format :name. Pour les instructions préparées utilisant l'espace réservé au point d'interrogation, la position du paramètre doit être indexée en commençant par 1.
variable Le nom de la variable PHP liée au paramètre de l'instruction SQL.
data_type utilise les constantes PDO::PARAM_* pour spécifier explicitement le type du paramètre. Pour renvoyer un paramètre INOUT à partir d’une procédure stockée, utilisez l’opérateur OR au niveau du bit pour le paramètre data_type afin de définir le bit PDO::PARAM_INPUT_OUTPUT.
indice de préallocation de longueur .
La longueur du type de données driverdata . Pour indiquer que le paramètre est un paramètre OUT d'une procédure stockée, cette longueur doit être définie explicitement.
options_pilote
Renvoie VRAI en cas de succès ou FAUX en cas d'échec.
<?php/* Exécuter une instruction préparée via des variables PHP liées*/$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND color = :colour');$sth->bindParam(':calories', $calories, PDO::PARAM_INT);$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();?>
<?php/* Exécuter une instruction préparée via des variables PHP liées*/$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT nom, couleur, calories FROM fruit WHERE calories < ? AND color = ?');$sth->bindParam(1, $calories, PDO::PARAM_INT);$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);$sth->execute();?>
<?php/* Appeler une procédure stockée avec les paramètres INOUT*/$colour = 'red';$sth = $dbh->prepare('CALL puree_fruit(?)');$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);$sth->execute();print("Après avoir réduit en purée les fruits, la couleur est : $couleur");?>