DB_common::getRow()

DB_common::getRow() – Récupère la première ligne

Synopsis

array &getRow ( string $query , array $params = array() , integer $fetchmode = = DB_FETCHMODE_DEFAULT )

Description

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.

Parameter

string $query

la requête SQL à préparer

array $params

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.

integer $fetchmode

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

Return value

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.

Throws

Possible PEAR_Error values
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.

Note

This function can not be called statically.

Example

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(
510));

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}
?>
Détermine le statut courant d'une option de configuration PEAR DB (Previous) Envoi une requête limitée à la base de données (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.