DB_common::limitQuery()

DB_common::limitQuery() – Envoi une requête limitée à la base de données

Synopsis

mixed &limitQuery ( string $query , integer $from , integer $count , mixed $params = array() )

Description

Exécute une requête SQL, mais ne récupère que le nombre spécifié de lignes. C'est une émulation de l'option LIMIT de MySQL.

Parameter

string $query

la requête SQL

integer $from

la ligne à partir de laquelle on commence la récupération. Notez que 0 retourne la première ligne, 1 retourne la seconde ligne, etc.

integer $count

le nombre de lignes à récupérer

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.

Return value

mixed - un nouvel objet DB_result pour les requêtes qui retournent des résultats (comme les requêtes SELECT), un objet DB_OK pourles requêtes qui manipulent des données (comme les requêtes INSERT) ou un objet DB_Error en cas d'erreur.

Throws

Possible PEAR_Error values
Code erreur Message erreur Raison Solution
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.

Selon la base de données que vous utilisez, vous n'obtiendrez pas plus de vitesse en comparant avec query(). L'avantage de limitQuery() est la suppression des lignes non requise dans le resultat, le plus tôt possible. Cela diminue la mémoire utilisée.

Notez aussi que $from et $count ne sont pas échapées. Vous devez prendre soin de les nettoyer vous-même, ou être ouvert à une attaque d'injection SQL.

Example

Utilisation de limitQuery()

<?php
// On suppose que $db est un objet DB valide...
$res =& $db->limitQuery('SELECT * FROM foo'4910);

if (
PEAR::isError($res)) {
    die(
$res->getMessage());
}
?>
Récupère la première ligne (Previous) Retourne le nombre suivant pour une séquence (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.