<HTML ><HEAD ><TITLE >pg_fetch_object</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="PHP Manual" HREF="index.html"><LINK REL="UP" TITLE="PostgreSQL functions" HREF="ref.pgsql.html"><LINK REL="PREVIOUS" TITLE="pg_fetch_assoc" HREF="function.pg-fetch-assoc.html"><LINK REL="NEXT" TITLE="pg_fetch_result" HREF="function.pg-fetch-result.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-1"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP Manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.pg-fetch-assoc.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.pg-fetch-result.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.pg-fetch-object" ></A >pg_fetch_object</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN76820" ></A ><P > (PHP 3>= 3.0.1, PHP 4 )</P >pg_fetch_object -- Fetch a row as an object</DIV ><DIV CLASS="refsect1" ><A NAME="AEN76823" ></A ><H2 >Description</H2 >object <B CLASS="methodname" >pg_fetch_object</B > ( resource result [, int row [, int result_type]])<BR ></BR ><P > <B CLASS="function" >pg_fetch_object()</B > returns an object with properties that correspond to the fetched row. It returns <TT CLASS="constant" ><B >FALSE</B ></TT > if there are no more rows or error. </P ><P > <B CLASS="function" >pg_fetch_object()</B > is similar to <A HREF="function.pg-fetch-array.html" ><B CLASS="function" >pg_fetch_array()</B ></A >, with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names). </P ><P > <TT CLASS="parameter" ><I >row</I ></TT > is row (record) number to be retrieved. First row is 0. </P ><P > Speed-wise, the function is identical to <A HREF="function.pg-fetch-array.html" ><B CLASS="function" >pg_fetch_array()</B ></A >, and almost as quick as <A HREF="function.pg-fetch-row.html" ><B CLASS="function" >pg_fetch_row()</B ></A > (the difference is insignificant). </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > From 4.1.0, <TT CLASS="parameter" ><I >row</I ></TT > is optional. </P ><P > From 4.3.0, <TT CLASS="parameter" ><I >result_type</I ></TT > is default to PGSQL_ASSOC while older versions' default was PGSQL_BOTH. There is no use for numeric property, since numeric property name is invalid in PHP. </P ><P > <TT CLASS="parameter" ><I >result_type</I ></TT > may be deleted in future versions. </P ></BLOCKQUOTE ></DIV ><P > See also <A HREF="function.pg-query.html" ><B CLASS="function" >pg_query()</B ></A >, <A HREF="function.pg-fetch-array.html" ><B CLASS="function" >pg_fetch_array()</B ></A >, <A HREF="function.pg-fetch-row.html" ><B CLASS="function" >pg_fetch_row()</B ></A > and <A HREF="function.pg-fetch-result.html" ><B CLASS="function" >pg_fetch_result()</B ></A >. </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN76861" ></A ><P ><B >Example 1. Postgres fetch object</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="php" ><?php $database = "verlag"; $db_conn = pg_connect ("host=localhost port=5432 dbname=$database"); if (!$db_conn): ?> <H1>Failed connecting to postgres database <?php echo $database ?></H1> <?php exit; endif; $qu = pg_query ($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++; } ?> <PRE> <?php $fields[] = Array ("autor", "Author"); $fields[] = Array ("jahr", " Year"); $fields[] = Array ("titel", " Title"); $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++; } echo "----------\n"; ?> </PRE> <?php pg_free_result ($qu); pg_close ($db_conn); ?></PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > From 4.1.0, <TT CLASS="parameter" ><I >row</I ></TT > became optional. Calling <B CLASS="function" >pg_fetch_object()</B > will increment internal row counter counter by 1. </P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.pg-fetch-assoc.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.pg-fetch-result.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >pg_fetch_assoc</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.pgsql.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >pg_fetch_result</TD ></TR ></TABLE ></DIV ></BODY ></HTML >