array &getAll (
string $query
,
array $params = array()
,
integer $fetchmode =
= DB_FETCHMODE_DEFAULT
)
Récupère le résultat entier d'une requête dans un tableau imbriqué. La fonction prend soin d'exécuter la requête et de libérer le résultat à la fin.
La requête SQL à préparer.
tableau à utiliser dans l'exécution de la requête. Le nombre d'éléments du tableau doit correspondre au nombre de marqueurs dans la requête.
prepare()/ execute() sont utilisées.
Cette méthode n'autorise pas les scalaires en tant qu'argument.
le mode de récupération à utiliser. Par défaut, c'est DB_FETCHMODE_DEFAULT, qui demande à la méthode d'utiliser le mode de récupération courant de DB. Le mode de récupération courant peut être changé en utilisant setFetchMode(). Les valeurs possibles sont :
DB_FETCHMODE_ORDERED
DB_FETCHMODE_ASSOC
DB_FETCHMODE_OBJECT
DB_FETCHMODE_ORDERED | DB_FETCHMODE_FLIPPED
DB_FETCHMODE_ASSOC | DB_FETCHMODE_FLIPPED
array - un tableau imbriqué ou un objet DB_Error en cas d'erreurs.
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_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. |
This function can not be called statically.
Utilisation de getAll() pour retourner un tableau associatif en définissant le mode de récupération par défaut en premier
<?php
// On suppose que $db est un objet DB valide...
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$data =& $db->getAll('SELECT cf, nf, df FROM foo');
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => Array
(
[cf] => Juan
[nf] => 5
[df] => 1991-01-11 21:31:41
)
[1] => Array
(
[cf] => Kyu
[nf] => 10
[df] => 1992-02-12 22:32:42
)
)
Utilisation de getAll() pour retourner un tableau ordonné
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getAll('SELECT cf, nf, df FROM foo',
array(), DB_FETCHMODE_ORDERED);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => Array
(
[0] => Juan
[1] => 5
[2] => 1991-01-11 21:31:41
)
[1] => Array
(
[0] => Kyu
[1] => 10
[2] => 1992-02-12 22:32:42
)
)
Utilisation de getAll() pour retourner un tableau ordonné et inversé
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getAll('SELECT cf, nf, df FROM foo',
array(), DB_FETCHMODE_ORDERED | DB_FETCHMODE_FLIPPED);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => Array
(
[0] => Juan
[1] => Kyu
)
[1] => Array
(
[0] => 5
[1] => 10
)
[2] => Array
(
[0] => 1991-01-11 21:31:41
[1] => 1992-02-12 22:32:42
)
)
Utilisation de getAll() pour retourner un tableau associatif
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getAll('SELECT cf, nf, df FROM foo',
array(), DB_FETCHMODE_ASSOC);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => Array
(
[cf] => Juan
[nf] => 5
[df] => 1991-01-11 21:31:41
)
[1] => Array
(
[cf] => Kyu
[nf] => 10
[df] => 1992-02-12 22:32:42
)
)
Utilisation de getAll() pour retourner un tableau associatif inversé
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getAll('SELECT cf, nf, df FROM foo',
array(), DB_FETCHMODE_ASSOC | DB_FETCHMODE_FLIPPED);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[cf] => Array
(
[0] => Juan
[1] => Kyu
)
[nf] => Array
(
[0] => 5
[1] => 10
)
[df] => Array
(
[0] => 1991-01-11 21:31:41
[1] => 1992-02-12 22:32:42
)
)
Utilisation de getAll() pour retourner un tableau d'objets
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getAll('SELECT cf, nf, df FROM foo',
array(), DB_FETCHMODE_OBJECT);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => stdClass Object
(
[cf] => Juan
[nf] => 5
[df] => 1991-01-11 21:31:41
)
[1] => stdClass Object
(
[cf] => Kyu
[nf] => 10
[df] => 1992-02-12 22:32:42
)
)
Utilisation de getAll() dans un mode prepare/execute pour retourner un tableau associatif
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getAll('SELECT cf, nf, df FROM foo WHERE nf = ?',
array(5), DB_FETCHMODE_ASSOC);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => Array
(
[cf] => Juan
[nf] => 5
[df] => 1991-01-11 21:31:41
)
)