PDOStatement::bindColumn
(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDOStatement::bindColumn — Lie une colonne à une variable PHP
Description
$column
, mixed &$param
[, int $type
[, int $maxlen
[, mixed $driverdata
]]] )PDOStatement::bindColumn() fait en sorte qu'une variable PHP soit liée à une colonne données dans le jeu de résultats dans une requête. Chaque appel à la fonction PDOStatement::fetch() ou PDOStatement::fetchAll() met à jour toutes les variables qui sont liées aux colonnes.
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.
-
param
-
Nom de la variable PHP à laquelle la colonne doit être liée.
-
type
-
Type du paramètre, spécifié par les constantes PDO::PARAM_* constants.
-
maxlen
-
Une astuce pour la pré-allocation.
-
driverdata
-
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.
Exemples
Exemple #1 Lie l'affichage du jeu de résultats à des variables PHP
<?php function readData($dbh) { $sql = 'SELECT nom, couleur, calories FROM fruit'; try { $stmt = $dbh->prepare($sql); $stmt->execute(); /* Lie par les numéros de colonnes */ $stmt->bindColumn(1, $nom); $stmt->bindColumn(2, $couleur); /* Lie par les noms de colonnes */ $stmt->bindColumn('calories', $cals); while ($row = $stmt->fetch(PDO::FETCH_BOUND)) { $data = $nom . "\t" . $couleur . "\t" . $cals . "\n"; print $data; } } catch (PDOException $e) { print $e->getMessage(); } } readData($dbh); ?>
L'exemple ci-dessus va afficher :
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() - Retourne un tableau contenant toutes les lignes du jeu d'enregistrements
- PDOStatement::fetchColumn() - Retourne une colonne depuis la ligne suivante d'un jeu de résultats