Manuel Pear

DB_common::getCol()

DB_common::getCol() -- Récupère une seule colonne

Synopsis

array &getCol (string $query [, mixed $col = 0 [, mixed $params = array()]])

Description

Exécute la requête et met la première colonne de données dans un tableau et libère le résultat.

Paramètres

chaîne de caractères $query

la requête SQL à préparer

mixed $col

la colonne à retourner (integer [numéro de la colonne, on commence à 0] ou string [nom de la colonne]).

mixed $params

tableau, chaîne ou données numériques à ajouter à la requête préparée. Le nombre d'éléments passés doit correspondre à celui des marqueurs dans la requête préparée : un marqueur pour les scalaires ou un marqueur par élément du tableau pour un tableau.

Si ce paramètre est fourni, prepare()/ execute() sont utilisées.

Valeur retournée

array - la première ligne du résultat en tant que tableau indexé commençant à 0 ou un objet DB_Error en cas d'erreur.

Valeurs renvoyées

Tableau 39-1. Valeurs PEAR_Error possibles

Code erreur Message erreur Raison Solution
DB_ERROR_INVALID invalid La requête SQL à préparer n'est pas valide. Voyez la documentation de prepare(), si vous voulez utiliser une requête SQL avec des marqueurs.
DB_ERROR_MISMATCH mismatch Le nombre de paramètres ne correspond pas au nombre de marqueurs dans la requête préparée. Vérifiez le nombre de marqueurs dans la requête prepare() passée à $query. Il doit être égal au nombre d'entrées passées à $params.
DB_ERROR_NOSUCHFIELD no such field Le nom/numéro de la colonne passé à $col est invalide Utilisez un nom/numéro de colonne qui existe dans le résultat de la requête.
DB_ERROR_NODBSELECTED no database selected Aucune base de données n'a été sélectionnée. Vérifiez le DSN dans connect().
tout autre code erreur   Erreur spécifique à la base de données. Vérifiez la section spécifique à la base de données dans le manuel PHP pour trouver la raison de cette erreur. Dans la plupart des cas, il s'agit d'une requête mal formée. Comme l'utilisation de LIMIT dans une requête envoyée à une base de données Oracle.

Note

Cette fonction ne peut pas être appelée de façon statique.

Exemple

Exemple 39-1. Exemple avec getCol()

  1. <?php
  2. // On suppose que $db est un objet DB valide...
  3. $data =& $db->getCol('SELECT cf, df FROM foo');  
  4.  
  5. if (PEAR::isError($data)) { 
  6.    die($data->getMessage());  
  7. }  
  8.  
  9. print_r($data);  
  10.  
  11. ?> 

Affichera :

Array
(
    [0] => Juan
    [1] => Kyu
)

Exemple 39-2. Utilisation de getCol() pour récupérer une colonne numérique spécifique

  1. <?php
  2. // On suppose que $db est un objet DB valide...
  3. $data =& $db->getCol('SELECT cf, df FROM foo', 1);  
  4.  
  5. if (PEAR::isError($data)) { 
  6.    die($data->getMessage());  
  7. }  
  8.  
  9. print_r($data);  
  10.  
  11. ?> 

Affichera :

Array
(
    [0] => 1991-01-11 21:31:41
    [1] => 1992-02-12 22:32:42
)

Exemple 39-3. Utilisation de getCol() pour récupérer une colonne nommée

  1. <?php
  2. // On suppose que $db est un objet DB valide...
  3. $data =& $db->getCol('SELECT cf, df FROM foo', 'df');  
  4.  
  5. if (PEAR::isError($data)) { 
  6.    die($data->getMessage());  
  7. }  
  8.  
  9. print_r($data);  
  10.  
  11. ?> 

Affichera :

Array
(
    [0] => 1991-01-11 21:31:41
    [1] => 1992-02-12 22:32:42
)

Exemple 39-4. Utilisation de getCol() en mode prepare/execute avec un marqueur

  1. <?php
  2. // On suppose que $db est un objet DB valide...
  3. $data =& $db->getCol('SELECT cf, df FROM foo WHERE nf = ?', 
  4.       'df', 5);  
  5.  
  6. if (PEAR::isError($data)) { 
  7.    die($data->getMessage());  
  8. }  
  9.  
  10. print_r($data);  
  11.  
  12. ?> 

Affichera :

Array
(
    [0] => 1991-01-11 21:31:41
)

Exemple 39-5. Utilisation de getCol() en mode prepare/execute avec deux marqueurs

  1. <?php
  2. // On suppose que $db est un objet DB valide...
  3. $data =& $db->getCol('SELECT cf, df FROM foo WHERE nf IN (?, ?)', 
  4.       'df', array(5, 10));  
  5.  
  6. if (PEAR::isError($data)) { 
  7.    die($data->getMessage());  
  8. }  
  9.  
  10. print_r($data);  
  11.  
  12. ?> 

Affichera :

Array
(
    [0] => 1991-01-11 21:31:41
    [1] => 1992-02-12 22:32:42
)

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique