array &getRow (
string $query
,
array $params = array()
,
integer $fetchmode =
= DB_FETCHMODE_DEFAULT
)
Exécute la requête fournie et place la remière ligne du résultat dans un tableau puis libère le jeu de résultat.
la requête SQL à préparer
tableau à utiliser lors de l'exécution de la requête. Le nombre d'éléments du tableau doit correspondre à celui des marqueurs dans la requête.
Si fourni, prepare()/ execute() sont utilisées.
Cette méthode n'autorise pas les scalaires comme argument.
le mode de récupération à utiliser. Par défaut vaut DB_FETCHMODE_DEFAULT, qui demande à cetteméthode d'utiliser le mode courant de récupération. Le mode courant de récupération de DB peut être modifié en utilisant setFetchMode(). Les autres valeurs possibles sont :
DB_FETCHMODE_ORDERED
DB_FETCHMODE_ASSOC
DB_FETCHMODE_OBJECT
array - la première ligne du résultat sous forme de tableau ou un objet DB_Error en cas d'erreur. Le tableau peut être ordonné ou associatif selon la valeur du paramètre $fetchmode . L'index de la colonne commence à 0 pour les tableaux ordonnées.
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 getRow() avec $fetchmode = DB_FETCHMODE_ORDERED
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getRow('SELECT cf, df FROM foo',
array(), DB_FETCHMODE_ORDERED);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[0] => Juan
[1] => 1991-01-11 21:31:41
)
Utilisation de getRow() avec $fetchmode = DB_FETCHMODE_ASSOC
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getRow('SELECT cf, df FROM foo',
array(), DB_FETCHMODE_ASSOC);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
Array
(
[cf] => Juan
[df] => 1991-01-11 21:31:41
)
Utilisation de getRow() avec $fetchmode = DB_FETCHMODE_OBJECT
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getRow('SELECT cf, df FROM foo',
array(), DB_FETCHMODE_OBJECT);
if (PEAR::isError($data)) {
die($data->getMessage());
}
print_r($data);
?>
Affichera :
stdClass Object
(
[cf] => Juan
[df] => 1991-01-11 21:31:41
)
Utilisation de getRow() avecun marqueur
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getRow('SELECT cf, df FROM foo WHERE nf = ?',
array(5));
if (PEAR::isError($data)) {
die($data->getMessage());
}
?>
Utilisation de getRow() avec deux marqueurs
<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getRow('SELECT cf, df FROM foo WHERE nf IN (?, ?)',
array(5, 10));
if (PEAR::isError($data)) {
die($data->getMessage());
}
?>