PHP: pg_fetch_assoc - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

pg_fetch_object pg_fetch_array

Last updated: Sat, 27 Jan 2007

view this page in

# pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc -- Fetch a row as an associative array

## Описание

array pg_fetch_assoc ( resource result [, int row] )

pg_fetch_assoc() returns an associative array that corresponds to the fetched row (records).

pg_fetch_assoc() is equivalent to calling pg_fetch_array() with `PGSQL_ASSOC` as the optional third parameter. It only returns an associative array. If you need the numeric indices, use pg_fetch_row().

> Замечание: Эта функция устанавливает NULL-поля в значение `NULL` PHP.

pg_fetch_assoc() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

> Замечание: `row` became optional in PHP 4.1.0.

## Список параметров

`result`

  PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

`row`

  Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

## Возвращаемые значения

An array indexed associatively (by field name). Each value in the array is represented as a string. Database `NULL` values are returned as `NULL`.

`FALSE` is returned if `row` exceeds the number of rows in the set, there are no more rows, or on any other error.

## Примеры

Пример 1. pg_fetch_assoc() example

`<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
while ($row = pg_fetch_assoc($result)) {
echo $row['id'];
echo $row['author'];
echo $row['email'];
}
?>`

## Смотрите также

pg_fetch_row()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

add a note User Contributed Notes
pg_fetch_assoc
johniskew
01-Mar-2007 09:28
`Here is another way to iterate a resultset and display all columns in very little code... might be faster than a foreach
<?php
print '<table>';
while($row=pg_fetch_assoc($rs2)) print '<tr><td>'.join('</td><td>',$row2).'</td></tr>';
print '</table>';
?>`
24-May-2006 12:59
`If you request a row that does not exist, it just fails, rather than simply returning false.`
Luke
22-Sep-2005 06:34
`Note:
PostgreSQL boolean values set to TRUE are returned as the string "t"
PostgreSQL boolean values set to FALSE are returned as the string "f"`
petrus at bmail dot com dot au
24-Feb-2005 07:22
`$dbconn3 = pg_connect("host=127.0.0.1 port=5432 dbname=blah user=blah password=blah");
$result = pg_query($dbconn3, "SELECT * FROM Packages");
echo "<HTML><HEAD><TITLE>PostgreSQL Test Page</TITLE></HEAD><BODY>";
echo "<TABLE>";
$pkg = pg_fetch_assoc($result);
foreach ($pkg as $value) {
echo "<TR><TD>$value";
echo "</TR></TD>";
}
echo "</TABLE><P>";
echo "This package's full filename is: {$pkg['name']}-{$pkg['version']}{$pkg['extension']}";
echo "</BODY></HTML>";
For generating tables, this works, and personally I prefer foreach() to while loops because there's no danger of accidentally causing an infinite loop...foreach only works for as long as it has something to work with, and then stops. I thought the echo down the bottom might come in handy, too...took me a bit to find that out.`
spam at pasher dot org
24-Oct-2003 06:35
`An important thing to note (as of PHP 4.3.2):
If you are used to using the "extended" comparision operators (=== and !==) to try to make your code easier to follow visually, this function will return NULL if the provided resource handle is invalid (as opposed to false). ie,
$rs = @pg_query('SELECT * FROM fake_table');
while (false !== ($row = @pg_fetch_assoc($rs)))
{
print_r($row);
}
Obviously you should check to see if $rs === false before you start the while loop, but this example is used to illustrate a potential infinite loop problem if $rs IS false.`
ninja (whorl) thinkninja (stop) com
21-Jun-2003 08:29
`If you are moving between different versions of PHP, this might be handy:
if (!function_exists('pg_fetch_assoc')) {
function pg_fetch_assoc ($result)
{
return @pg_fetch_array($result, NULL, PGSQL_ASSOC);
}
}`
Brenton Strickler
06-Jan-2003 05:53
`At a glance, the syntax listed at the top of this page doesn't match the example. The PGSQL_ASSOC flag isn't necessary.`
add a note
pg_fetch_object pg_fetch_array

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST