(PHP 5 >= 5.2.0, PHP 7, PHP 8)
pg_field_table — tables フィールドの名前あるいは oid を返す
pg_field_table() は、フィールドが属するテーブルの名前か
あるいは oid_only
が true
の場合にテーブルの oid
を返します。
result
pg_query()、pg_query_params() や (様々な関数がありますが、特に) pg_execute() が返した PgSql\Result クラスのインスタンス。
field
0 から始まるフィールド番号。
oid_only
デフォルトでは、フィールドが属するテーブルの名前が返されます。
しかし oid_only
をtrue
に設定すると、
その代わりに oid が返されます。
成功した場合にフィールドのテーブル名あるいは oid を返します。
失敗した場合に false
を返します
バージョン | 説明 |
---|---|
8.1.0 |
result は、PgSql\Result
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、リソース を期待していました。
|
例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 を返すほうがずっと高速です。 なぜなら、テーブル名を取得するには、 データベースのシステムテーブルにクエリを発行しなければならないからです。