pg_fetch_row

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

pg_fetch_rowGet a row as an enumerated array

Açıklama

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

pg_fetch_row() fetches one row of data from the result associated with the specified result instance.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

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

mode

Dizinin nasıl indisleneceğini belirleyen seçimlik bağımsız değişken. kip bir sabit olup şu değerleri alabilir: PGSQL_ASSOC, PGSQL_NUM ve PGSQL_BOTH. PGSQL_NUM ile işlev sayısal indisli bir dizi, PGSQL_ASSOC ile ilişkisel bir dizi ve PGSQL_BOTH ile hem sayısal hem de ilişkisel indisli bir dizi döndürür.

Dönen Değerler

An array, indexed from 0 upwards, with each value 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.

Sürüm Bilgisi

Sürüm: Açıklama
8.1.0 sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_row() example

<?php

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

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!
$result) {
echo
"An error occurred.\n";
exit;
}

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

?>

Ayrıca Bakınız

add a note add a note

User Contributed Notes 7 notes

up
4
post at zeller-johannes dot de
19 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
18 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
21 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.
up
-6
maxnamara at yahoo dot com
20 years ago
Get downlines, put them into arrays.

function get_downlines($my_code){
    global $link;

    $sql = "select user_id, name from tb_user where parentcode = $my_code";
    $res = pg_query($link,$sql);
    if(!$res){
        echo "Error: ".$sql;exit();
    }
    $num_fields = pg_num_fields($res);
    $info_rows = 0;

    $num_rows = pg_num_rows($res);
    while($arr = pg_fetch_row($res)){

           $info_offset  = 1;
         $info_columns  = 0;

        while ($info_offset <= $num_fields) {
                 $info_elements[$info_rows][$info_columns] = $arr[$info_columns];
                 $info_offset++; $info_columns++;
        }
        $info_rows++;           
    }
return $info_elements;
}
up
-10
imantr at cbn dot net dot id
22 years ago
I use the following code to assigning query result to an array.

while ($row = pg_fetch_row($result)) $newArray[] = $row[0];

print_r($newArray);
To Top