不幸的是,pg_fetch_all_columns() 不支持按名称提取列——如果要这样做,需要使用 pg_field_num() 作为中间步骤
例如
<?php
if ($foo)
$cols = "email_address";
else
$cols = "last_name, middle_init";
$result = pg_query("Select first_name, $info, birthday from users_table");
// 问题——第 2 列指的是 'birthday' 还是 'middle_init' 字段?
$array = pg_fetch_all_columns($result, 2);
// 不起作用,必须使用列号而不是列名
$array = pg_fetch_all_columns($result, 'birthday');
// 起作用
$array = pg_fetch_all_columns($result, pg_field_num($result, 'birthday'));
?>