函数名称:pg_fetch_array()
适用版本:PHP 4 >= 4.0.3, PHP 5, PHP 7
函数描述:pg_fetch_array() 函数从结果集中获取一行作为关联数组或数字索引数组。
语法:pg_fetch_array(resource $result [, int $row_number = NULL [, int $result_type = PGSQL_BOTH ]]) : array|false
参数:
- $result:PostgreSQL 查询的结果集。
- $row_number(可选):指定从结果集中获取的行号。默认为 NULL,表示获取下一行。
- $result_type(可选):指定返回的数组类型。可选值有:
PGSQL_ASSOC
:返回关联数组。PGSQL_NUM
:返回数字索引数组。PGSQL_BOTH
(默认):同时返回关联数组和数字索引数组。
返回值:
- 成功时,返回包含结果集中一行数据的关联数组或数字索引数组。
- 失败时,返回 false。
示例:
// 假设已经连接到 PostgreSQL 数据库,并执行了查询
$query = "SELECT name, age FROM users";
$result = pg_query($dbconn, $query);
// 使用 pg_fetch_array() 获取结果集的第一行数据
$row = pg_fetch_array($result);
echo $row['name']; // 输出第一行的 name 字段值
echo $row[0]; // 输出第一行的第一个字段值
// 使用 pg_fetch_array() 获取结果集的下一行数据
$row = pg_fetch_array($result);
echo $row['age']; // 输出第二行的 age 字段值
echo $row[1]; // 输出第二行的第二个字段值
// 使用 pg_fetch_array() 获取结果集的指定行数据
$row = pg_fetch_array($result, 3, PGSQL_ASSOC);
echo $row['name']; // 输出第四行的 name 字段值
// 使用 pg_fetch_array() 获取结果集的所有行数据
while ($row = pg_fetch_array($result)) {
echo $row['name']; // 输出每一行的 name 字段值
}
注意事项:
- 在使用 pg_fetch_array() 函数之前,必须先通过 pg_query() 函数执行查询并获取结果集。
- 如果指定的行号超出了结果集的范围,将返回 false。
- 为了避免内存占用过大,建议在循环中使用 pg_fetch_array() 逐行获取数据,而不是一次性获取所有数据。