<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Fetch a row as an array</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.pg-fetch-all.html">pg_fetch_all</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.pg-fetch-assoc.html">pg_fetch_assoc</a></div> <div class="up"><a href="ref.pgsql.html">PostgreSQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.pg-fetch-array" class="refentry"> <div class="refnamediv"> <h1 class="refname">pg_fetch_array</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">pg_fetch_array</span> — <span class="dc-title">Fetch a row as an array</span></p> </div> <div class="refsect1 description" id="refsect1-function.pg-fetch-array-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">array</span> <span class="methodname"><strong>pg_fetch_array</strong></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$result</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$row</code></span> [, <span class="methodparam"><span class="type">int</span> <code class="parameter">$result_type</code><span class="initializer"> = PGSQL_BOTH</span></span> ]] )</div> <p class="para rdfs-comment"> <span class="function"><strong>pg_fetch_array()</strong></span> returns an array that corresponds to the fetched row (record). </p> <p class="para"> <span class="function"><strong>pg_fetch_array()</strong></span> is an extended version of <span class="function"><a href="function.pg-fetch-row.html" class="function">pg_fetch_row()</a></span>. In addition to storing the data in the numeric indices (field number) to the result array, it can also store the data using associative indices (field name). It stores both indicies by default. </p> <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">This function sets NULL fields to the PHP <strong><code>NULL</code></strong> value.</span></p></blockquote> <p class="para"> <span class="function"><strong>pg_fetch_array()</strong></span> is NOT significantly slower than using <span class="function"><a href="function.pg-fetch-row.html" class="function">pg_fetch_row()</a></span>, and is significantly easier to use. </p> </div> <div class="refsect1 parameters" id="refsect1-function.pg-fetch-array-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">result</code></em></span> <dd> <p class="para"> PostgreSQL query result resource, returned by <span class="function"><a href="function.pg-query.html" class="function">pg_query()</a></span>, <span class="function"><a href="function.pg-query-params.html" class="function">pg_query_params()</a></span> or <span class="function"><a href="function.pg-execute.html" class="function">pg_execute()</a></span> (among others). </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">row</code></em></span> <dd> <p class="para"> Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or <strong><code>NULL</code></strong>, the next row is fetched. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">result_type</code></em></span> <dd> <p class="para"> An optional parameter that controls how the returned <span class="type"><a href="language.types.array.html" class="type array">array</a></span> is indexed. <em><code class="parameter">result_type</code></em> is a constant and can take the following values: <strong><code>PGSQL_ASSOC</code></strong>, <strong><code>PGSQL_NUM</code></strong> and <strong><code>PGSQL_BOTH</code></strong>. Using <strong><code>PGSQL_NUM</code></strong>, <span class="function"><strong>pg_fetch_array()</strong></span> will return an array with numerical indices, using <strong><code>PGSQL_ASSOC</code></strong> it will return only associative indices while <strong><code>PGSQL_BOTH</code></strong>, the default, will return both numerical and associative indices. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.pg-fetch-array-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> An <span class="type"><a href="language.types.array.html" class="type array">array</a></span> indexed numerically (beginning with 0) or associatively (indexed by field name), or both. Each value in the <span class="type"><a href="language.types.array.html" class="type array">array</a></span> is represented as a <span class="type"><a href="language.types.string.html" class="type string">string</a></span>. Database <em>NULL</em> values are returned as <strong><code>NULL</code></strong>. </p> <p class="para"> <strong><code>FALSE</code></strong> is returned if <em><code class="parameter">row</code></em> exceeds the number of rows in the set, there are no more rows, or on any other error. </p> </div> <div class="refsect1 changelog" id="refsect1-function.pg-fetch-array-changelog"> <h3 class="title">Changelog</h3> <p class="para"> <table class="doctable informaltable"> <thead> <tr> <th>Version</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>4.1.0</td> <td> The <em><code class="parameter">row</code></em> parameter became optional. </td> </tr> </tbody> </table> </p> </div> <div class="refsect1 examples" id="refsect1-function.pg-fetch-array-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-2066"> <p><strong>Example #1 <span class="function"><strong>pg_fetch_array()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php <br /><br />$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_pconnect</span><span style="color: #007700">(</span><span style="color: #DD0000">"dbname=publisher"</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"An error occurred.\n"</span><span style="color: #007700">;<br /> exit;<br />}<br /><br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT author, email FROM authors"</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$result</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"An error occurred.\n"</span><span style="color: #007700">;<br /> exit;<br />}<br /><br /></span><span style="color: #0000BB">$arr </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">PGSQL_NUM</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">] . </span><span style="color: #DD0000">" <- Row 1 Author\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">] . </span><span style="color: #DD0000">" <- Row 1 E-mail\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// As of PHP 4.1.0, the row parameter is optional; NULL can be passed instead,<br />// to pass a result_type. Successive calls to pg_fetch_array will return the<br />// next row.<br /></span><span style="color: #0000BB">$arr </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">, </span><span style="color: #0000BB">NULL</span><span style="color: #007700">, </span><span style="color: #0000BB">PGSQL_ASSOC</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #DD0000">"author"</span><span style="color: #007700">] . </span><span style="color: #DD0000">" <- Row 2 Author\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #DD0000">"email"</span><span style="color: #007700">] . </span><span style="color: #DD0000">" <- Row 2 E-mail\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$arr </span><span style="color: #007700">= </span><span style="color: #0000BB">pg_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #DD0000">"author"</span><span style="color: #007700">] . </span><span style="color: #DD0000">" <- Row 3 Author\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$arr</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">] . </span><span style="color: #DD0000">" <- Row 3 E-mail\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 seealso" id="refsect1-function.pg-fetch-array-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.pg-fetch-row.html" class="function" rel="rdfs-seeAlso">pg_fetch_row()</a> - Get a row as an enumerated array</span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-object.html" class="function" rel="rdfs-seeAlso">pg_fetch_object()</a> - Fetch a row as an object</span></li> <li class="member"> <span class="function"><a href="function.pg-fetch-result.html" class="function" rel="rdfs-seeAlso">pg_fetch_result()</a> - Returns values from a result resource</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.pg-fetch-all.html">pg_fetch_all</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.pg-fetch-assoc.html">pg_fetch_assoc</a></div> <div class="up"><a href="ref.pgsql.html">PostgreSQL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>