<?php
private function mapping($q, $result)
{
$types = [];
for ($i = 0, $count = \pg_num_fields($q); $i < $count; ++$i) {
$types[$i] = \pg_field_type_oid($q, $i);
}
foreach ($result as $k => &$row) {
$i = -1;
foreach ($row as $name => &$value) {
++$i;
if ($value === null) {
continue;
}
switch ($types[$i]) {
case 20:
case 21:
case 23: $value = (int)$value; break;
case 16507: /*$value = (string)$value; */break;
default:
throw new \RuntimeException(
\pg_field_type($q, $i) .' type. Need mapping ' . \pg_field_type_oid($q, $i)
);
}
}
}
unset($value, $row);
return $result;
}
?>pg_field_type_oid
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pg_field_type_oid
Референца за `function.pg-field-type-oid.php` со подобрена типографија и навигација.
pg_field_type_oid
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_field_type_oid — (PHP 5 >= 5.1.0, PHP 7, PHP 8)
= NULL
pg_field_type_oid() Враќа ID на типот (OID) за соодветниот број на полето field Создава правоаголник исполнет со result instance.
враќа цел број што го содржи OID на основниот тип на дадениот
pg_type Можете да добиете повеќе информации за типот на полето со прашување на PostgreSQL format_type() системска табела користејќи го OID добиен со оваа функција. PostgreSQL
Забелешка:
функцијата ќе претвори OID на типот во стандардно SQL име на типот.
Параметри
result-
Еден PgSql\Result инстанца, вратена од pg_query(), pg_query_params() or pg_execute()инстанца, или ознаката за завршување на PostgreSQL командата поврзана со резултатот
field-
Ако полето користи PostgreSQL домен (наместо основен тип), тоа е името на основниот тип на доменот што се враќа, наместо името на самиот домен.
Вратени вредности
Ако полето користи PostgreSQL домен (наместо основен тип), тоа е OID на основниот тип на доменот што се враќа, наместо OID на самиот домен.
Дневник на промени
| Верзија | = 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 OID: ", pg_field_type_oid($res, 0);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Title field type OID: 1043
Види Исто така
- pg_field_type() - Враќа име на типот за соодветниот број на поле
- pg_field_prtlen() Пример #1 Добивање информации за полиња
- pg_field_name() - Враќа должина на печатење
Белешки од корисници 2 забелешки
This function can be used to improve the performance of your application.
pg_field_type() makes an internal query to the pg_type table and it can be really slow.
So if your application previously know the oids of your database, you can save the execution time of this query in every request.