PDOStatement :: bindParam
PDOStatement :: bindParam - lier un paramètre à la variable spécifiée (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explication
grammaire
bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
Lier une variable PHP à une instruction SQL comme un prétraitement correspondant nommé ou point d'interrogation espace réservé espace réservé. Contrairement à PDOStatement :: bindValue (), cette variable est liée en tant que référence, et seulement :: exécuter dans PDOStatement () est invoquée pour quelle que soit la valeur.
La plupart des paramètres sont des paramètres d'entrée, qui est, les paramètres utilisés pour construire la requête en mode lecture seule. Certains pilotes prennent en charge appeler une procédure stockée et renvoyer des données en tant que paramètres de sortie, un soutien que les paramètres d'entrée / sortie, à la fois envoyer et recevoir des données après la mise à jour.
Paramètres
paramètre
identificateur de paramètre. Pour l'utilisation des marqueurs nommés déclarations préparées devraient être similaires à: nommer le nom sous forme de paramètre. Pour des marques de positionnement dans la déclaration préparée, elle doit être basée sur le paramètre 1 indexées.
variable
Lié à SQL paramètres d'instruction PHP nom de la variable.
data_type
Utilisez PDO :: PARAM_ * constantes pour spécifier explicitement le type du paramètre. A partir d'une procédure stockée retourne un paramètre INOUT, vous devez utiliser l'opérateur OR pour définir le PDO :: PARAM_INPUT_OUTPUT bit data_type paramètre.
longueur
conseils pré-alloué.
driverdata
Longueur type de données. Pour afficher le paramètre est un paramètre OUT d'une procédure stockée, vous devez définir explicitement cette longueur.
driver_options
Valeur de retour
Un retour réussi TRUE, ou en cas d'échec retourne FALSE.
Exemples
placeholders Executive utilisant une instruction préparée nommée
<?php /* 通过绑定的 PHP 变量执行一条预处理语句 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12); $sth->execute(); ?>
La mise en œuvre d'une des marques de positionnement dans la déclaration préparée
<?php /* 通过绑定的 PHP 变量执行一条预处理语句 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->bindParam(1, $calories, PDO::PARAM_INT); $sth->bindParam(2, $colour, PDO::PARAM_STR, 12); $sth->execute(); ?>
paramètre INOUT utilisant un appel de procédure stockée
<?php /* 使用 INOUT 参数调用一个存储过程 */ $colour = 'red'; $sth = $dbh->prepare('CALL puree_fruit(?)'); $sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12); $sth->execute(); print("After pureeing fruit, the colour is: $colour"); ?>