PDOStatement::bindColumn

(no version information, might be only in CVS)

PDOStatement::bindColumn --  Lie une colonne à une variable PHP

Description

bool PDOStatement::bindColumn ( mixed column, mixed &param [, int type [, int maxlen [, mixed driver_options]]] )

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Pour chaque ligne récupérée, param doit contenir la valeur de la colonne correspondante. column est la position de la colonne ou le nom de la colonne. Pour une portabilité maximale, n'appelez pas cette fonction avant d'appeler la fonction PDOStatement::execute().

Liste de paramètres

column

Numéro de la colonne (en commençant à 1) dans le jeu de résultats.

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_*.

maxlen

Longeur maximale du paramètre.

driver_options

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
function readData($dbh) {
  
$sql = 'SELECT nom, couleur, calories FROM fruit';
  
try {
    
$stmt = $dbh->prepare($sql);
    
$stmt->execute();

    
/* Lie par les numéros de colonnes avec un type et une longueur spécifique */
    
$stmt->bindColumn(1, $nom, PDO_PARAM_STR, 64);

    
/* Lie par les numéros de colonnes avec un type et une longueur par défaut */
    
$stmt->bindColumn(2, $couloeur);

    
/* Lie par les noms de colonnes avec un type et une longueur par défaut */
    
$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()
PDOStatement::fetch()
PDOStatement::fetchAll()
PDOStatement::fetchSingle()