pg_field_table

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

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

説明

pg_field_table(PgSql\Result $result, int $field, bool $oid_only = false): string|int|false

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

パラメータ

result

pg_query()pg_query_params() や (様々な関数がありますが、特に) pg_execute() が返した PgSql\Result クラスのインスタンス。

field

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

oid_only

デフォルトでは、フィールドが属するテーブルの名前が返されます。 しかし oid_onlytrue に設定すると、 その代わりに 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($res0);
echo 
pg_field_table($res0true);

$res pg_query($dbconn"SELECT version()");
var_dump(pg_field_table($res0));
?>

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

foo
14379580

bool(false)

注意

注意:

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

参考

関連キーワード:  oid, フィールド, 名前, テーブル, tables, only, PgSql, Result, result, クラス