Database(DB:データベース)

【PostgreSQL+PHP】pg_field_nameでフィールド名(カラム名)を取得

【PHP】pg_field_name()関数について

pg_field_name()関数で、テーブルのフィールド名(カラム名)を取得することができます。

例えば、デバッグ時にテーブルに存在するフィールド名を取得したい場合などに役に立つ関数です。

ただ、使う機会は多くはないです。
が、せっかくなので簡単にまとめておきます。

 

関数の説明

pg_field_name(リソース, int フィールド番号)

■リソース:検索結果のリソースを設定

■フィールド番号:名前を取得したいフィールド(カラム)の番号
  フィールド番号は0(ゼロ)から開始するので、
  もし、3番目のフィールドの名前を取得した場合には、「pg_field_name($res, 2)」とします。

 

使い方の例

<?php
$res = pg_query($con, "SELECT id,name,tel,email,address FROM SAMPLE_TABLE WHERE id = 100");
echo "フィールド名は「" . pg_field_name($res, 2) . "」です";
?>

↓結果
フィールド名は「tel」です。

 

pg_num_fieldsとセットで使用する場合

pg_field_name()pg_num_fields()をセットで使用することも多いです。

pg_num_fields()については以下を参照して下さい。
[ pg_num_fieldsでフィールド数(カラムの数)を取得 ]

<?php
$res = pg_query($con, "SELECT id,name,tel,email,address FROM SAMPLE_TABLE WHERE id = 100");
$i = pg_num_fields($res); //フィールド数を取得
for($j = 0; $j < $i; $j++){
  echo "フィールド番号{$j} / ";
  echo "フィールド名:" . pg_field_name($res, $j) . "\n";
}
?>

結果は以下のようになります。

フィールド番号0 / フィールド名:id
フィールド番号1 / フィールド名:name
フィールド番号2 / フィールド名:tel
フィールド番号3 / フィールド名:email
フィールド番号4 / フィールド名:address

 

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

  • 個人で借りているサーバのIPアドレスが、なぜか「FortiGuard」のブラックリストに登録されてしまった。まっとうにサイト運用してたから、なんで登録されたかは不明。取り敢えず、「データベースから削除して」って依頼したから、すぐに… twitter.com/i/web/status/1…
    about 12時間 ago via Twitter Web App

アーカイブ

PAGE TOP