Note, that when you retrieve some PG boolean value, you get 't' or 'f' characters which are not compatible with PHP bool.
pg_fetch_row
(PHP 4, PHP 5)
pg_fetch_row — Get a row as an enumerated array
Popis
pg_fetch_row() fetches one row of data from the result associated with the specified result resource.
Note: Táto funkcie nastavuje NULL políčka na PHP NULL hodnotu.
Parametre
- 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.
Vrátené hodnoty
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.
ChangeLog
| Verzia | Popis |
|---|---|
| 4.1.0 | The parameter row became optional. |
Príklady
Example#1 pg_fetch_row() example
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
while ($row = pg_fetch_row($result)) {
echo "Author: $row[0] E-mail: $row[1]";
echo "<br />\n";
}
?>
pg_fetch_row
06-Jun-2006 03:18
26-Apr-2005 02:51
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).
14-Oct-2004 12:03
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;
}
22-May-2003 09:29
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.
23-Jul-2002 08:38
I use the following code to assigning query result to an array.
while ($row = pg_fetch_row($result)) $newArray[] = $row[0];
print_r($newArray);
22-Aug-2001 05:39
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>";
}
