Einführung - Abfrage (Previous) (Next) Einführung - Prepare & Execute

View this page in Last updated: Sun, 20 Jul 2008
English | Dutch | French | German | Hungarian | Japanese | Polish | Russian | Spanish | Plain HTML

Einführung - Ergebnismengen

Einführung - Ergebnismengen -- Daten aus einer Abfrage verarbeiten

Beschreibung

Format der zurückgegebenen Datensätze

Die Daten aus einem Datensatz einer Ergebnismenge können auf drei Arten übergeben werden:

  • ein geordnetes Array (mit Nummer als Schlüssel)

  • ein assoziatives Array (mit den Spaltennamen als Schlüsseln)

  • ein Objekt (mit dem Spaltennamen als Objektvariablen)

DB_FETCHMODE_ORDERED (default)

Array
(
    [0] => 28
    [1] => hi
)

DB_FETCHMODE_ASSOC

Array
(
    [a] => 28
    [b] => hi
)

DB_FETCHMODE_OBJECT

stdClass Object
(
    [a] => 28
    [b] => hi
)

Wenn eine Abfrage den gleichen Spaltennamen mehrmals enthält, z.B. beim Verbinden von Tabellen mit gleichen Spaltennamen, und der Modus zum Holen ist DB_FETCHMODE_ASSOC oder DB_FETCHMODE_OBJECT, dann befindet sich der Schlüsselname bzw. Variable trotzdem nur einmal im Array bzw. Objekt. Damit ist der Datensatz unvollständig. Es gibt zwei Möglichkeiten die Situation aufzulösen:

  • Benutzen Sie Alias-Namen in ihrer Abfrage, wie z.B.: People.Name AS PersonName.

  • Ändern Sie den Modus auf DB_FETCHMODE_ORDERED.

Datensätze über ihre Nummer holen

PEAR::DB unterstützt das gezielte herausholen eines Datensatzes über seine Nummer in der Ergebnismenge. Dazu kann der fetchInto() bzw. bzw. fetchRow()-Methode ein dritter Parameter übergeben werden, der die Nummer enthält. Das ist hilfreich, wenn nur ein Teil der gesamten Ergebnismenge benötigt wird, wie z.B. bei der Aufteilung der Ergebnismenge auf mehrere HTML-Seiten.

Die vollständige Ergebnismenge holen

Das DB_common-Objekt bietet verschiedene Methoden, um eine Abfrage zu vereinfachen, inbesondere bei kleinen Mengen. Diese Methoden erwarten die Abfrage, geben die Ergebnismenge als PHP-Datenstruktur zurück und geben belegten Speicher sofort wieder frei. Die Methoden sind: getOne(), getRow(), getCol(), getAssoc() and getAll().

Fehlerprüfung

Benutzen Sie isError() um zu prüfen, ob eine Aktion ein DB_Error-Objekt zurückgeliefert hat.

Einführung - Abfrage (Previous) (Next) Einführung - Prepare & Execute

Download Documentation Last updated: Sun, 20 Jul 2008
Do you think that something on this page is wrong? Please file a bug report or add a note.
User Notes:
There are no user contributed notes for this page.