そのまんま!

pg_field_table

(no version information, might be only in CVS)

pg_field_table -- tables フィールドの名前あるいは oid を返す

説明

mixed pg_field_table ( resource result, int field_number, bool oid_only )

pg_field_table() は、フィールドが属するテーブルの名前か あるいは oid_onlyTRUE の場合にテーブルの oid を返します。

パラメータ

result

pg_query()pg_query_params() あるいは pg_execute() (その他も含む) から返された、PostgreSQL クエリ結果リソース。

field_number

0 から始まるフィールド番号。

oid_only

デフォルトでは、フィールドが属するテーブルの名前が返されます。 しかし oid_onlyTRUE に設定すると、 その代わりに oid が返されます。

返り値

成功した場合にフィールドのテーブル名あるいは oid、 あるいは失敗した場合に FALSE を返します。

例 1. フィールドについてのテーブル情報の取得

<?php
$dbconn
= pg_connect("dbname=publisher") or die("接続できません");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo
pg_field_table($res, 0);
echo
pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

上の例の出力は、たとえば 以下のようになります。

foo
14379580

bool(false)

注意

注意: テーブル名を返すよりも oid を返すほうがずっと高速です。 なぜなら、テーブル名を取得するには、 データベースのシステムテーブルにクエリを発行しなければならないからです。

参考

pg_field_name()
pg_field_type()