Sommaire
PostgreSQL
pg_Close
pg_cmdTuples
pg_connect
pg_DBname
pg_end_copy
pg_ErrorMessage
pg_Exec
pg_Fetch_Array
pg_Fetch_Object
pg_Fetch_Row
pg_FieldIsNull
pg_FieldName
pg_FieldNum
pg_FieldPrtLen
pg_FieldSize
pg_FieldType
pg_FreeResult
pg_GetLastOid
pg_Host
pg_loclose
pg_locreate
pg_loexport
pg_loimport
pg_loopen
pg_loread
pg_loreadall
pg_lounlink
pg_lowrite
pg_NumFields
pg_NumRows
pg_Options
pg_pConnect
pg_Port
pg_put_line
pg_Result
pg_set_client_encoding
pg_client_encoding
pg_trace
pg_tty
pg_untrace
|
6.78.9 pg_Fetch_Object[ Exemples avec pg_Fetch_Object ] Description
object pg_fetch_object(resource result ,int row ,[int result_type ])
pg_fetch_object retourne un objet dont les
membres sont les champs de la ligne demandée, ou
FALSE , si il n'y a plus de lignes.
pg_fetch_object est similaire à
pg_fetch_array, avec une différence majeure :
c'est un objet qui est retourné, au lieu d'un tableau. Par
conséquent, cela signifie que vous ne pouvez accéder aux
membres qu'avec leur nom, et non plus leur offset
(les nombres ne sont pas autorisés comme nom de membre).
L'argument optionnel result_type de
result_type est une constante qui peut prendre les
valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH.
Note |
result_type a été ajouté dans
PHP 4.0.
|
Au niveau vitesse, pg_fetch_object est aussi rapide que
pg_fetch_row et presque aussi rapide que
pg_fetch_row (la différence est non significative).
Voir aussi
pg_fetch_array et
pg_fetch_row.
Lecture d'un objet Postgres |
<?php $database = "verlag"; $db_conn = pg_connect("host=localhost port=5432 dbname=$database"); if (!$db_conn): ?> <H1>Connexion impossible à la base postgres <?php echo $database ></H1> <?php exit; endif; $qu = pg_exec($db_conn, "SELECT * FROM verlag ORDER BY autor"); $row = 0; // postgres réclame un compteur de ligne, d'autres bases ne le font pas. while ($data = pg_fetch_object($qu, $row)): echo $data->autor." ("; echo $data->jahr ."): "; echo $data->titel."<BR>"; $row++; endwhile; ?> <PRE><?php $fields[] = array("autor", "Author"); $fields[] = array("jahr", " Year"); $fields[] = array("titel", " Title"); $row= 0; // Postgres réclame un compteur de ligne, d'autres bases ne le font pas. 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); ?>
|
|