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

search for in the

pg_field_type_oid> <pg_field_size
[edit] Last updated: Fri, 17 May 2013

view this page in

pg_field_table

(PHP 5 >= 5.2.0)

pg_field_tableGibt zu einem Feldnamen den Namen der Tabelle oder deren oid zurück, in der das Feld definiert ist

Beschreibung

mixed pg_field_table ( resource $result , int $field_number [, bool $oid_only = false ] )

pg_field_table() gibt den Namen der Tabelle zurück, in der das Feld definiert ist, oder den oid (Object Identifier) der Tabelle, falls der Parameter oid_only TRUE ist.

Parameter-Liste

result

PostgreSQL-Verbindungskennung, die (unter anderem) von den Funktionen pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

field_number

Index des Feldes, beginnend bei 0.

oid_only

In der Standardeinstellung wird der Name der Tabelle zurückgegeben, zu der dieses Feld gehört. Wenn der Parameter oid_only den Wert TRUE hat, wird stattdessen der oid der Tabelle zurückgegeben.

Rückgabewerte

Bei Erfolg wird entweder der Name oder der oid der Tabelle zurückgegeben.

Beispiele

Beispiel #1 Informationen über Felder abfragen

<?php
$dbconn 
pg_connect("dbname=publisher")
          or die(
"Konnte keine Verbindung aufbauen.");

$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));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

foo
14379580

bool(false)

Anmerkungen

Hinweis:

Die Funktion ist viel schneller, wenn man sich den oid zurückgeben lässt, weil zur Ermittlung des Tabellennamens die Systemkataloge der Datenbank abgefragt werden müssen.

Siehe auch



add a note add a note User Contributed Notes pg_field_table - [1 notes]
up
0
strata_ranger at hotmail dot com
4 years ago
pg_field_table is primarily useful for queries that involve joins between multiple tables, e.g:

<?php
$res
= pg_query("SELECT table1.foo, table2.bar FROM table1 JOIN table2");
echo
pg_field_table($res, 0); // Outputs 'table1'
echo pg_field_table($res, 1); // Outputs 'table2'
?>

However, be aware of a few easy 'gotchas':

1- If your query contains static values in its select-list, pg_field_table() will yield FALSE for those fields (because it was a static value, not one fetched from a table):

<?php
$res
= pg_query("SELECT 'foo', bar FROM table");
echo
pg_field_table($res, 0); // FALSE
echo pg_field_table($res, 1); // Outputs 'table'
?>

2- If you UNION two queries together from different tables, pg_field_table() will return FALSE for all fields:

<?php
$res
= pg_query("(Select foo, bar from table1) UNION (Select foo, bar from table2)");
echo
pg_field_table($res, 0); // FALSE
echo pg_field_table($res, 1); // FALSE
?>

 
show source | credits | sitemap | contact | advertising | mirror sites