
PGSQL_ASSOC과 PGSQL_NUM의 차이점은 다음과 같습니다.
- PGSQL_ASSOC: 결과셋의 열 이름을 키로 사용하여 값을 접근할 수 있습니다. 하지만, 열 이름이 중복되면 어떤 열을 참조할지 알 수 없습니다.
- PGSQL_NUM: 결과셋의 열을 인덱스로 사용하여 값을 접근할 수 있습니다. 열 이름이 중복되어도 문제가 없습니다.
예를 들어, 다음과 같은 결과셋이 있다고 가정해 보겠습니다.
#hostingforum.kr
sql
CREATE TABLE test (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
age INT
);
INSERT INTO test (name, age) VALUES ('John', 25);
INSERT INTO test (name, age) VALUES ('Jane', 30);
PGSQL_ASSOC를 사용한 예제는 다음과 같습니다.
#hostingforum.kr
php
$result = pg_query("SELECT * FROM test");
while ($row = pg_fetch_assoc($result)) {
echo $row['name'] . "n"; // John, Jane
echo $row['age'] . "n"; // 25, 30
}
PGSQL_NUM을 사용한 예제는 다음과 같습니다.
#hostingforum.kr
php
$result = pg_query("SELECT * FROM test");
while ($row = pg_fetch_array($result, PGSQL_NUM)) {
echo $row[0] . "n"; // id
echo $row[1] . "n"; // name
echo $row[2] . "n"; // age
}
결과셋의 열 이름이 중복되어도 PGSQL_NUM을 사용하면 문제가 없습니다.
2025-06-14 08:51