pg_fetch_object
(PHP 3>= 3.0.1, PHP 4 , PHP 5)
pg_fetch_object -- 데이터베이스의 행을 오브젝트로 가져온다.
함수 설명
object
pg_fetch_object ( int result, int row [, int result_type])
데이터베이스의 행을 그 행이 가진 프로퍼티와 함께 오브젝트의 형태로 돌려주며,
더이상 가져올 행이 없을 경우 거짓(FALSE)을 돌려준다.
pg_fetch_object() 함수는 pg_fetch_array() 함수와
거의 비슷하지만, 중요한 한가지가 다르다 -- 배열을 돌려주는 대신 오브젝트를 돌려준다.
간접적인 의미로, 여러분은 그 데이터를 오직 그 필드의 이름으로만 접근(access)할 수
있으며 오프셋(offsets)으로는 접근이 불가능하다. (숫자는 올바른 프로퍼티 이름이 아니다)
세번째로 정의된 result_type 인수는 선택적으로 주어질 수 있는
상수의 형태로 다음과 같은 값을 취할 수 있다: PGSQL_ASSOC, PGSQL_NUM, 그리고 PGSQL_BOTH.
참고:
Result_type 은 PHP 4.0 버전부터 추가되었다.
함수 실행 속도는 pg_fetch_array() 함수와 마찬가지로,
pg_fetch_row() 함수만큼 충분히 빠르다. (그 차이는 미미하다)
pg_fetch_array() 와
pg_fetch_row() 도 참고하라.
예 1. Postgres fetch object
<?php $database = "verlag"; $db_conn = pg_connect ("host=localhost port=5432 dbname=$database"); if (!$db_conn): ?> <H1>Failed connecting to postgres database <?php echo $database ?></H1> <?php exit; endif;
$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor"); $row = 0; // postgres는 다른 데이터베이스들이 필요로 하지 않는 행카운터(row counter)를 필요로 한다
while ($data = pg_fetch_object ($qu, $row)): echo $data->autor." ("; echo $data->jahr ."): "; echo $data->titel."<BR>"; $row++; endwhile; ?>
<PRE><?php $fields[] = Array ("autor", "Author"); $fields[] = Array ("jahr", " Year"); $fields[] = Array ("titel", " Title");
$row= 0; // postgres는 다른 데이터베이스들이 필요로 하지 않는 행카운터를 필요로 한다 while ($data = pg_fetch_object ($qu, $row)): echo "----------\n"; reset ($fields); while (list (,$item) = each ($fields)): echo $item[1].": ".$data->$item[0]."\n"; endwhile; $row++; endwhile; echo "----------\n"; ?> </PRE> <?php pg_freeResult ($qu); pg_close ($db_conn); ?>
|
|