pg_Fetch_Object

(PHP 3>= 3.0.1, PHP 4 >= 4.0.0)

pg_Fetch_Object -- Holt einen Datensatz als Objekt

Beschreibung

object pg_fetch_object (int result, int row [, int result_type])

Rückgabewert: Ein Objekt, dessen Eigenschaften mit denen der Felder des erhaltenen Datensatzes übereinstimmen oder FALSE, wenn kein Datensatz mehr zurückgegeben wird.

pg_fetch_object() ist pg_fetch_array() ähnlich, mit einem Unterschíed: Statt eines Arrays wird ein Objekt zurückgegeben. Indirekt heißt das, dass man die Daten nur über die Feldnamen und nicht über ihre Offsets ansprechen kann (Zahlen sind nicht erlaubte Eigenschaftsnamen).

Das dritte, optionale Argument result_type in pg_fetch_object() ist eine Konstante und kann die folgenden Werte annehmen: PGSQL_ASSOC, PGSQL_NUM, and PGSQL_BOTH.

Anmerkung: Result_type wurde in PHP 4.0 hinzugefügt

Von der Geschwindigkeit her ist die Funktion mit pg_fetch_array() identisch und fast so schnell wie pg_fetch_row() (Der Unterschied ist unwesentlich).

Siehe auch: pg_fetch_array() und pg_fetch_row().

Beispiel 1. Postgres fetch object


<?php 
$database = "verlag";
$db_conn = pg_connect ("localhost", "5432", "", "", $database);
if (!$db_conn): ?>
    <H3>Konnte keine Datenbankverbindung zu
    <? echo $database ?> herstellen.</H3> <?
    exit;
endif;

$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres needs a row counter other dbs might not 

while ($data = pg_fetch_object ($qu, $row)):
    echo $data->autor." (";
    echo $data->jahr ."): ";
    echo $data->titel."<BR>";
    $row++;
endwhile; ?>

<PRE><?php
$fields[] = Array ("autor", "Autor");
$fields[] = Array ("jahr",  " Jahr");
$fields[] = Array ("titel", " Titel");
$row= 0; // postgres needs a row counter other dbs might not

while ($data = pg_fetch_object ($qu, $row)):
    echo "----------\n";
    reset ($fields);
    while (list (,$item) = each ($fields)):
        echo $item[1].": ".$data->$item[0]."\n";
    endwhile;
    $row++;
endwhile;
echo "----------\n"; ?>
</PRE> <?php
pg_freeResult ($qu);
pg_close ($db_conn);
?>