PHP: pg_field_name - Manual

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

search for in the

pg_field_num pg_field_is_null

Last updated: Sat, 27 Jan 2007

view this page in

# pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name -- Returns the name of a field

## Описание

string pg_field_name ( resource result, int field_number )

pg_field_name() returns the name of the field occupying the given `field_number` in the given PostgreSQL `result` resource. Field numbering starts from 0.

> Замечание: This function used to be called pg_fieldname().

## Список параметров

`result`

  PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

`field_number`

  Field number, starting from 0.

## Возвращаемые значения

The field name, or `FALSE` on error.

## Примеры

Пример 1. Getting information about fields

`<?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 User Contributed Notes
pg_field_name
12-Aug-2004 10: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 11: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"`
add a note
pg_field_num pg_field_is_null

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST