(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDOStatement::bindColumn —
Lie une colonne à une variable PHP
Description
public
PDOStatement::bindColumn(
string|int
$column
,
mixed
&$var
,
int
$type
= PDO::PARAM_STR,
int
$maxLength
= 0,
mixed
$driverOptions
=
null
): bool
Note:
Étant donné que les informations sur les colonnes ne sont pas toujours disponibles
à PDO tant que la requête n'est pas exécutée, les applications portables
doivent appeler cette fonction après
la fonction PDOStatement::execute().
Cependant, pour pouvoir lier une colonne de type LOB avec un flux
lors de l'utilisation du pilote PostGreSQL,
les applications doivent appeler cette méthode
avant d'appeler
PDOStatement::execute(), sous peine de recevoir
l'objet OID sous forme d'entier.
Liste de paramètres
-
column
-
Numéro de la colonne (en commençant à 1) ou nom de la colonne dans
le jeu de résultats. Si vous utilisez les noms de colonnes,
assurez-vous que le nom corresponde à la casse de la colonne, comme
retourné par le pilote.
-
var
-
Nom de la variable PHP à laquelle la colonne doit être liée.
-
type
-
Type du paramètre, spécifié par les constantes
PDO::PARAM_*
.
-
maxLength
-
Une astuce pour la pré-allocation.
-
driverOptions
-
Paramètres optionnels pour la bibliothèque.
Valeurs de retour
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Erreurs / Exceptions
É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
.
Exemples
Exemple #1 Lie l'affichage du jeu de résultats à des variables PHP
Lie les colonnes du jeu de résultats aux variables PHP est une façon
agréable de rendre les données contenues dans chaque ligne
immédiatement disponible à votre application. L'exemple suivant
montre comment PDO vous autorise à lier et récupérer les colonnes
avec une variété d'options.
<?php
$stmt = $dbh->prepare('SELECT name, colour, calories FROM fruit');
$stmt->execute();
/* Lie par les numéros de colonnes */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);
/* Lie par les noms de colonnes */
$stmt->bindColumn('calories', $cals);
while ($stmt->fetch(PDO::FETCH_BOUND)) {
print $name . "\t" . $colour . "\t" . $cals . "\n";
}
readData($dbh);
?>
Résultat de l'exemple ci-dessus est similaire à :
pomme rouge 150
banane jaune 175
kiwi vert 75
orange orange 150
mangue rouge 200
fraise rouge 25
Voir aussi
- PDOStatement::execute() - Exécute une requête préparée
- PDOStatement::fetch() - Récupère la ligne suivante d'un jeu de résultats PDO
- pdostatement::fetchAll() - Récupère les lignes restantes d'un ensemble de résultats
- pdostatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats