Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: pg_field_name - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

pg_field_num" width="11" height="7"/> <pg_field_is_null
Last updated: Tue, 21 Jul 2009

view this page in

pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_nameフィールドの名前を返す

説明

string pg_field_name ( resource $result , int $field_number )

pg_field_name() は、指定した PostgreSQL result リソースの指定した field_number にあるフィールドの名前を 返します。フィールド番号は 0 から始まります。

注意: この関数は、以前は pg_fieldname() と呼ばれていました。

パラメータ

result

pg_query(), pg_query_params() あるいは pg_execute() から返される PostgreSQL の クエリ結果リソース。

field_number

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

返り値

フィールド名を返します。エラー時には FALSE を返します。

例1 フィールド情報を取得する

<?php
  $dbconn 
pg_connect("dbname=publisher") or die("Could not connect");

  
$res pg_query($dbconn"select * from authors where author = 'Orwell'");
  
$i pg_num_fields($res);
  for (
$j 0$j $i$j++) {
      echo 
"column $j\n";
      
$fieldname pg_field_name($res$j);
      echo 
"fieldname: $fieldname\n";
      echo 
"printed length: " pg_field_prtlen($res$fieldname) . " characters\n";
      echo 
"storage length: " pg_field_size($res$j) . " bytes\n";
      echo 
"field type: " pg_field_type($res$j) . " \n\n";
  }
?>

上の例の出力は以下となります。

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar 

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2 

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar 

参考

  • pg_field_num() - 指定されたフィールドのフィールド番号を返す



add a note add a note User Contributed Notes
pg_field_name
12-Aug-2004 05:01
In fact you can extract the size of the varchar field, by simply sending the following query:
"select a.atttypmod,a.attrelid from pg_attribute as a, pg_class as c where c.relname='$table' AND a.attrelid=c.oid AND a.attname='$field'"

here is a simple function that does that:

function get_field_size($table, $field, $link) {
               
        $result = pg_query($link, "select a.atttypmod,a.attrelid from pg_attribute as a, pg_class as c where c.relname='$table' AND a.attrelid=c.oid AND a.attname='$field'");                
       
        $data = pg_fetch_object($result);
       
        return ($data->atttypmod - 4);       
   
}

returned value is a size of a given field (also varchar)
ccasal at compuserve dot com
12-Jan-2001 07:51
The pg_fieldname function only returns the unqualified name from the select statement. example:

select c.name, con.name from customer c, contacts con where con.customer_id = c.id;

pg_fieldname will return "name" for both fields instead of c.name and con.name.

This is a PostgreSQL limitation, not a PHP limitation.

if you need different field names you should use :

select c.name as customer_name, con.name as contact_name from customer c, contacts con where con.customer_id = c.id;

then pg_fieldname will return "customer_name" and "contact_name"

pg_field_num" width="11" height="7"/> <pg_field_is_null
Last updated: Tue, 21 Jul 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites