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
?>pg_field_table
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pg_field_table
Референца за `function.pg-field-table.php` со подобрена типографија и навигација.
pg_field_table
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
pg_field_table — Враќа име или oid на полето на табелата
= NULL
pg_field_table() враќа име на табелата на која припаѓа полето, или oid на табелата ако oid_only is true.
Параметри
result-
Еден PgSql\Result инстанца, вратена од pg_query(), pg_query_params() or pg_execute()инстанца, или ознаката за завршување на PostgreSQL командата поврзана со резултатот
field-
Ако полето користи PostgreSQL домен (наместо основен тип), тоа е името на основниот тип на доменот што се враќа, наместо името на самиот домен.
oid_only-
Стандардно се враќа името на табелата на која припаѓа полето, но ако
oid_onlyе поставен наtrue, тогаш наместо тоа ќе се врати oid.
Вратени вредности
При успех или името на табелата на полето или oid, или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.1.0 |
На result параметарот очекува PgSql\Result
инстанца сега; претходно, а resource се очекуваше.
|
Примери
Пример #1 Добивање информации за табела за поле
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
$res = pg_query($dbconn, "SELECT bar FROM foo");
echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);
$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>Горниот пример ќе прикаже нешто слично на:
foo 14379580 bool(false)
Белешки
Забелешка:
Враќањето на oid е многу побрзо отколку враќањето на името на табелата бидејќи добивањето на името на табелата бара барање до системската табела на базата на податоци.
Види Исто така
- pg_field_name() - Враќа должина на печатење
- pg_field_type() - Враќа име на типот за соодветниот број на поле
Белешки од корисници 2 забелешки
this function return an OID even if your field comes from a view or a select but return FALSE if your field comes from an UNION select