next up previous contents index
Next: Funktionen für den Zugriff Up: Funkionen für den Zugriff Previous: db_numrows($result):

db_numrows_withseektoend($result):

Um auch bei Datenbanken wie ``Interbase'' überhaupt auf die Anzahl der Zeilen eines SQl-Anfrage-Ergebnisses zuzugreifen wurde 'db_numrows_withseektoend' eingeführt. Wenn möglich sollte nur diese Funktion und nicht 'db_numrows' verwendet werden. Sie hat wie 'db_numrows' den Result-Handler der Anfrage als Parameter und gibt die Anzahl der Zeilen zurück.

Allerdings ist i.a. das gesamte Anfrage-Ergebnis nach Aufruf dieser Funktion nicht mehr abrufbar. Bei ``Interbase'' wird sie nämlich durch Durchlauf durch das gesamte Ergebnis realisiert und ``Interbase'' kann nur einmal auf eine Ergebniszeile zugreifen. Die anderen Datenbanken simulieren dies durch Setzen des Result-Handlers auf das Ende des Ergebnisses.

Diese Funktion sollte also erst verwendet werden , wenn alle benötigten Anfrage-Zeilen ausgelesen wurden, z.B. wenn man nur einen Ausschnitt einer SQL-Anfrage auf der aktuellen Seite darstellt und aber zusätzlich die Gesamt-Zeilenzahl anzeigen möchte.

Bisher wird immer 'db_union_numrows_withseektoend' aufgerufen, um mit ``UNION'' zusammengesetzte Anfragen zu behandeln. Der Name hiervon aufgerufenen, tatsächlich Datenbank-abhängigen Funktion ist derzeit immer 'my_<dbtype>_numrows_withseektoend'.



Copyright Munich Network Management Team