DB_common::getOne()

DB_common::getOne() – Récupère la première colonne de la première ligne

Synopsis

mixed &getOne ( string $query , mixed $params = array() )

Description

Récupère la première colonne de la première ligne des données retournées par la requête. La fonction prend soin d'exécuter la requête et de libérer le résultat par la suite.

Parameter

string $query

la requête SQL à préparer

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 fourni, prepare() / execute() sont utilisées.

Return value

mixed - la valeur retournée ou un objet DB_Error en cas d'erreur.

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

Exemple avec getOne()

<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getOne('SELECT cf FROM foo');

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

echo 
"$data\n";
?>

Utilisation de getOne() avec un marqueur

<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getOne('SELECT cf FROM foo WHERE nf = ?',
        
5);

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

echo 
"$data\n";
?>

Utilisation de getOne() avec deux marqueurs

<?php
// On suppose que $db est un objet DB valide...
$data =& $db->getOne('SELECT cf FROM foo WHERE nf IN (?, ?)',
        array(
510));

if (
PEAR::isError($data)) {
    die(
$data->getMessage());
}

echo 
"$data\n";
?>
Récupère les informations système de la base de données (Previous) Détermine le statut courant d'une option de configuration PEAR DB (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:

Note by: webmaster@metapundit.net
Be careful using getOne() on columns that may contain null values - you now have no way of knowing whether your query matched any rows or not. Consider the table

users
|id|name|
---+----+
1 | test
2 | NULL
---------
<?php
var_dump
($db->getOne('select name from users where id=1'));
var_dump($db->getOne('select name from users where id=2'));
var_dump($db->getOne('select name from users where foo=1'));
?>


will output "NULL", "NULL", and a db_error object.