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] )

PDOStatement::bindColumn() fait en sorte qu'une variable particulière soit liée à une colonne données dans le jeu de résultats depuis une requête. Chaque appel à la fonction PDOStatement::fetch() ou PDOStatement::fetchAll() mettera à 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 PDO::execute().

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 driver.

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

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 */
    
$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()
PDOStatement::fetch()
PDOStatement::fetchAll()
PDOStatement::fetchColumn()