Here is an updated list of nearly every PostgreSQL data type, and PHP's internal C-type equivalent, updated for PostgreSQL 9.2. The first array maps PHP's internal data type to PostgreSQL's equivalents. The second maps PostgreSQL's data-types to PHP's equivalents.
<?php
$php_to_pg = array(
'bit' => array('bit'),
'bool' => array('boolean'),
'box' => array('box'),
'bpchar' => array('character','char'),
'bytea' => array('bytea'),
'cidr' => array('cidr'),
'circle' => array('circle'),
'date' => array('date'),
'daterange' => array('daterange'),
'float4' => array('real'),
'float8' => array('double precision'),
'inet' => array('inet'),
'int2' => array('smallint', 'smallserial'),
'int4' => array('integer', 'serial'),
'int4range' => array('int4range'),
'int8' => array('bigint', 'bigserial'),
'int8range' => array('int8range'),
'interval' => array('interval'),
'json' => array('json'),
'lseg' => array('lseg'),
'macaddr' => array('macaddr'),
'money' => array('money'),
'numeric' => array('decimal', 'numeric'),
'numrange' => array('numrange'),
'path' => array('path'),
'point' => array('point'),
'polygon' => array('polygon'),
'text' => array('text'),
'time' => array('time', 'time without time zone'),
'timestamp' => array('timestamp', 'timestamp without time zone'),
'timestamptz' => array('timestamp with time zone'),
'timetz' => array('time with time zone'),
'tsquery' => array('tsquery'),
'tsrange' => array('tsrange'),
'tsvector' => array('tsvector'),
'uuid' => array('uuid'),
'varbit' => array('bit varying'),
'varchar' => array('character varying', 'varchar'),
'xml' => array('xml'),
);
$pg_to_php = array(
'bit' => 'bit',
'boolean' => 'bool',
'box' => 'box',
'character' => 'bpchar',
'char' => 'bpchar',
'bytea' => 'bytea',
'cidr' => 'cidr',
'circle' => 'circle',
'date' => 'date',
'daterange' => 'daterange',
'real' => 'float4',
'double precision' => 'float8',
'inet' => 'inet',
'smallint' => 'int2',
'smallserial' => 'int2',
'integer' => 'int4',
'serial' => 'int4',
'int4range' => 'int4range',
'bigint' => 'int8',
'bigserial' => 'int8',
'int8range' => 'int8range',
'interval' => 'interval',
'json' => 'json',
'lseg' => 'lseg',
'macaddr' => 'macaddr',
'money' => 'money',
'decimal' => 'numeric',
'numeric' => 'numeric',
'numrange' => 'numrange',
'path' => 'path',
'point' => 'point',
'polygon' => 'polygon',
'text' => 'text',
'time' => 'time',
'time without time zone' => 'time',
'timestamp' => 'timestamp',
'timestamp without time zone' => 'timestamp',
'timestamp with time zone' => 'timestamptz',
'time with time zone' => 'timetz',
'tsquery' => 'tsquery',
'tsrange' => 'tsrange',
'tstzrange' => 'tstzrange',
'tsvector' => 'tsvector',
'uuid' => 'uuid',
'bit varying' => 'varbit',
'character varying' => 'varchar',
'varchar' => 'varchar',
'xml' => 'xml'
);
?>pg_field_type
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pg_field_type
Референца за `function.pg-field-type.php` со подобрена типографија и навигација.
pg_field_type
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_field_type — Returns the type name for the corresponding field number
= NULL
pg_field_type() Ја враќа типот на името за соодветниот број на поле field Создава правоаголник исполнет со result instance.
Забелешка:
враќа стринг што го содржи основното име на типот на дадениот
Забелешка:
Оваа функција порано се нарекуваше pg_fieldtype().
Параметри
result-
Еден PgSql\Result инстанца, вратена од pg_query(), pg_query_params() or pg_execute()инстанца, или ознаката за завршување на PostgreSQL командата поврзана со резултатот
field-
Ако полето користи PostgreSQL домен (наместо основен тип), тоа е името на основниот тип на доменот што се враќа, наместо името на самиот домен.
Вратени вредности
А string Број на поле, почнувајќи од 0.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.1.0 |
На result параметарот очекува PgSql\Result
инстанца сега; претходно, а resource се очекуваше.
|
Примери
што го содржи основното име на типот на полето.
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
// Assume 'title' is a varchar type
$res = pg_query($dbconn, "select title from authors where author = 'Orwell'");
echo "Title field type: ", pg_field_type($res, 0);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Title field type: varchar
Види Исто така
- pg_field_prtlen() Пример #1 Добивање информации за полиња
- pg_field_name() - Враќа должина на печатење
- pg_field_type_oid() - Враќа име на поле
Белешки од корисници 4 белешки
Also be aware that postgreSQL array fields will prefix the type name with an underscore (e.g. "_int4" or "_text"), while composite a.k.a. row-type fields will return type "record".The types returned are:
bool
int2 (smallint)
int4
int8 (bigint)
numeric
float4 (real / float)
float8 (double)
timestamp
date
time
varchar
bpchar (fixed leng string, 'blank padded char')
inet (ip address)
money
There are some other more esoteric types, e.g. 'circle', but these are the most common.Because complete documentation is always helpful, here are all the PostgreSQL general purpose types as they are listed in the 8.1 documentation, and each corresponding string returned by pg_field_type().
bigint => int8
bigserial => int8
bit => bit
bit varying => varbit
boolean => bool
box => box
bytea => bytea
character varying => varchar
character => bpchar
cidr => cidr
circle => circle
date => date
double precision => float8
inet => inet
integer => int4
interval => interval
line => line
lseg => lseg
macaddr => macaddr
money => money
numeric => numeric
path => path
point => point
polygon => polygon
real => float4
smallint => int2
serial => int4
text => text
time => time
time with time zone => timetz
timestamp => timestamp
timestamp with time zone => timestamptz
And for the record... (note the 7.4 client lib)
# postmaster --version
postmaster (PostgreSQL) 8.0.4
# ldd libphp4.so
...
libpq.so.3 => /usr/lib/libpq.so.3 (0xb7ac8000)
...