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 — 데이터베이스의 행을 숫자를 인덱스로 하는 배열로 가져온다.
함수 설명
array pg_fetch_row
( int $result
, int $row
)
데이터베이스로부터 가져온 행을 배열형태로 돌려주며, 더이상 가져올 행이 없을 경우 거짓(FALSE)을 돌려준다.
pg_fetch_row() 함수는 인수로 주어진 결과지시자(result identifier)가 가리키는 쿼리의 결과로부터 데이터베이스의 한 행을 배열 형태로 가져온다. 각 결과컬럼 은 0으로 시작되는 배열오프셋(array offset)에 저장된다.
pg_fetch_array(), pg_fetch_object(), pg_result() 도 참고하라.
Example#1 Postgres fetch row
<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
$num = pg_numrows($result);
for ($i=0; $i<$num; $i++) {
$r = pg_fetch_row($result, $i);
for ($j=0; $j<count($r); $j++) {
echo "$r[$j] ";
}
echo "<BR>";
}
?>
pg_fetch_row
pletiplot at seznam dot cz
06-Jun-2006 03:18
06-Jun-2006 03:18
post at zeller-johannes dot de
26-Apr-2005 02:51
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).
maxnamara at yahoo dot com
14-Oct-2004 12:03
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;
}
Matthew Wheeler
22-May-2003 09:29
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.
imantr at cbn dot net dot id
23-Jul-2002 08:38
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);
darw75 at swbell dot net
22-Aug-2001 05:39
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>";
}
