pg_field_table 主要用于涉及多个表之间联接的查询,例如
<?php
$res = pg_query("SELECT table1.foo, table2.bar FROM table1 JOIN table2");
echo pg_field_table($res, 0); echo pg_field_table($res, 1); ?>
但是,请注意一些易于出现的“陷阱”。
1- 如果您的查询在 select 列表中包含静态值,pg_field_table() 将对这些字段返回 FALSE(因为它是一个静态值,而不是从表中获取的值)
<?php
$res = pg_query("SELECT 'foo', bar FROM table");
echo pg_field_table($res, 0); echo pg_field_table($res, 1); ?>
2- 如果将两个来自不同表的查询 UNION 到一起,pg_field_table() 将对所有字段返回 FALSE
<?php
$res = pg_query("(Select foo, bar from table1) UNION (Select foo, bar from table2)");
echo pg_field_table($res, 0); echo pg_field_table($res, 1); ?>