DB_common::setFetchMode()

DB_common::setFetchMode() – Configure le mode de récupération par défaut

Synopsis

void setFetchMode ( integer $fetchmode , string $object_class = stdClass )

Description

Configure le mode de récupération par défaut utilisé par les méthodes fetch*() et get*().

Parameter

integer $fetchmode

DB_FETCHMODE_ORDERED, DB_FETCHMODE_ASSOC ou DB_FETCHMODE_OBJECT.

Voir la section sur les exemples ci-dessous pour plus d'informations.

string $object_class

Ce paramètre est à utiliser lorsque $fetchmode est défini à DB_FETCHMODE_OBJECT.

Vous pouvez définir ce paramètre à DB_row, ce qui fera que les données résultantes seront placées dans une nouvelle instante de l'objet DB_row.

Return value

void - rien n'est retourné en cas de succès ou un objet DB_Error en cas d'erreur.

Throws

Possible PEAR_Error values
Code erreur Message erreur Raison Solution
NULL invalid fetchmode mode Le mode de récupération donné n'existe pas ou n'est pas implémenté dans votre version de DB. Vérifier l'ortographe de l'argument et votre version de DB.

Note

This function can not be called statically.

Example

DB_FETCHMODE_ORDERED (défaut)

Un tableau ordonné sera retourné. L'ordre est donné par le traitement de sélection.

<?php
// On suppose que $db est un objet DB valide...
$db->setFetchMode(DB_FETCHMODE_ORDERED);

$res =& $db->query('SELECT a, b FROM phptest WHERE a = 28');
$row =& $res->fetchRow();

print_r($row);
echo 
'La colonne a vaut ' $row[0];
?>

Affichera :


Array
(
    [0] => 28
    [1] => hi
)
La colonne a vaut 28

DB_FETCHMODE_ASSOC

Un tableau associatif sera retourné ; les noms des colonnes seront les clés du tableau.

<?php
// On suppose que $db est un objet DB valide...
$db->setFetchMode(DB_FETCHMODE_ASSOC);

$res =& $db->query('SELECT a, b FROM phptest WHERE a = 28');
$row =& $res->fetchRow();

print_r($row);
echo 
'La colonne a vaut ' $row['a'];
?>

Affichera :


Array
(
    [a] => 28
    [b] => hi
)
La colonne a vaut 28

DB_FETCHMODE_OBJECT

Retourne un objet avec les noms de colonnes comme propriétés.

<?php
// On suppose que $db est un objet DB valide...
$db->setFetchMode(DB_FETCHMODE_OBJECT);

$res =& $db->query('SELECT a, b FROM phptest WHERE a = 28');
$row =& $res->fetchRow();

print_r($row);
echo 
'La colonne a vaut ' $row->a;
?>

Affichera :


stdClass Object
(
    [a] => 28
    [b] => hi
)
La colonne a vaut 28

DB_FETCHMODE_OBJECT et DB_row

Si le paramètre optionnel $object_class de la méthode setFetchMode() est défini à DB_row, un objet DB_row est retourné.

<?php
// On suppose que $db est un objet DB valide...
$db->setFetchMode(DB_FETCHMODE_OBJECT'DB_row');

$res =& $db->query('SELECT a, b FROM phptest WHERE a = 28');
$row =& $res->fetchRow();

print_r($row);
echo 
'La colonne a vaut ' $row->a;
?>

Affichera :


db_row Object
(
    [a] => 28
    [b] => hi
)
La colonne a vaut 28

DB_FETCHMODE_OBJECT avec votre propre objet en PHP 4

<?php
// On suppose que $db est un objet DB valide...

class SomeResult {
    function 
SomeResult($data) {
        foreach (
$data as $key => $value) {
            
$this->$key $data[$key];
        }
    }
}

$db->setFetchMode(DB_FETCHMODE_OBJECT'SomeResult');

$res =& $db->query('SELECT a, b FROM phptest WHERE a = 28');
$row =& $res->fetchRow();

print_r($row);
echo 
'La colonne a vaut ' $row->a;
?>

Affichera :


SomeResult Object
(
    [a] => 28
    [b] => hi
)
La colonne a vaut 28

DB_FETCHMODE_OBJECT avec votre propre objet en PHP 5

<?php
// On suppose que $db est un objet DB valide...

class SomeResult {
    public 
$row_data;
    function 
__construct($data) {
        
$this->row_data $data;
    }
    function 
__get($variable) {
        return 
$this->row_data[$variable];
    }
}

$db->setFetchMode(DB_FETCHMODE_OBJECT'SomeResult');

$res =& $db->query('SELECT a, b FROM phptest WHERE a = 28');
$row =& $res->fetchRow();

print_r($row);
echo 
'La colonne a vaut ' $row->a;
?>

Affichera :


SomeResult Object
(
    [a] => 28
    [b] => hi
)
La colonne a vaut 28
Annule la transaction courante (Previous) Configure les options de PEAR DB au moment de l'exécution (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.