Web студия "GrandView"
  Главная   Написать Контакты
   
   
О проекте
Руководство php
 

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 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"

pg_field_num> <pg_field_is_null
Last updated: Sat, 27 Jan 2007
 
 
Новости
11 июля 2007
Сайт запущен
© 2007 info@grandviewstudio.com

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/sites/grandviewstudiocom/www/65f67d67a94ad980786580ae69e11c07/sape.php on line 324

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/sites/grandviewstudiocom/www/65f67d67a94ad980786580ae69e11c07/sape.php on line 330
Z058440144362 Z348613067571