pg_fetch_row

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_rowLee una fila en un array

Descripción

pg_fetch_row(PgSql\Result $result, ?int $row = null, int $mode = PGSQL_NUM): array|false

pg_fetch_row() lee una fila en el resultado asociado a la instancia result.

Nota: Esta función define campos NULOS al valor null de PHP.

Parámetros

result

An PgSql\Result instance, returned by pg_query(), pg_query_params() or pg_execute()(among others).

row

Número de la fila a recuperar. Las filas están numeradas comenzando en 0. Si el argumento es omitido o si vale null, la siguiente fila es recuperada.

mode

An optional parameter that controls how the returned array is indexed. mode is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, the function will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH will return both numerical and associative indices.

Valores devueltos

Un array de tipo array, indexado desde 0, con cada valor representado como un string (string). Los valores null de la base de datos son retornados como null.

false es retornado si row excede el número de filas en el conjunto de resultados, no tiene más filas disponibles o cualquier otro error.

Historial de cambios

Versión Descripción
8.1.0 The result parameter expects an PgSql\Result instance now; previously, a recurso was expected.

Ejemplos

Ejemplo #1 Ejemplo con pg_fetch_row()

<?php

$conn
= pg_pconnect("dbname=publisher");
if (!
$conn) {
echo
"Ha ocurrido un error.\n";
exit;
}

$result = pg_query($conn, "SELECT autor, email FROM autores");
if (!
$result) {
echo
"Ha ocurrido un error.\n";
exit;
}

while (
$row = pg_fetch_row($result)) {
echo
"Autor: $row[0] E-mail: $row[1]";
echo
"<br />\n";
}

?>

Ver también

add a note

User Contributed Notes 5 notes

up
5
post at zeller-johannes dot de
20 years ago
I wondered whether array values of PostgreSQL are converted to PHP arrays by this functions. This is not the case, they are stored in the returned array as a string in the form "{value1 delimiter value2 delimiter value3}" (See http://www.postgresql.org/docs/8.0/interactive/arrays.html#AEN5389).
up
3
pletiplot at seznam dot cz
19 years ago
Note, that when you retrieve some PG boolean value, you get 't' or 'f' characters which are not compatible with PHP bool.
up
0
eddie at eddiemonge dot com
15 years ago
pg_fetch_row is faster than pg_fetch_assoc when doing a query with * as the select parameter. Otherwise, with declared columns, the two are similar in speed.
up
0
darw75 at swbell dot net
23 years ago
a way to do this with 2 loops to insert data into a table...

$num = pg_numrows($result);
$col_num = pg_numfields($result);

for ($i=0; $i<$num; $i++) {
$line = pg_fetch_array($result, $i, PGSQL_ASSOC);
print "\t<tr bgcolor=#dddddd>\n";
for ($j=0; $j<$col_num; $j++){
list($col_name, $col_value) =each($line);
print "\t\t<TD ALIGN=RIGHT><FONT SIZE=1 FACE='Geneva'>$col_value</FONT></TD>\n";
}
echo "<br>";
}
up
-1
Matthew Wheeler
22 years ago
Note that the internal row counter is incremented BEFORE the row is retrieved. This causes an off by one error if you try to do:

pg_result_seek($resid,0);
pg_fetch_row($resid);

you will get back the SECOND result not the FIRST.
To Top