PHP.mk документација

pg_fetch_result

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.pg-fetch-result.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.pg-fetch-result.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
pg_fetch_result

Референца за `function.pg-fetch-result.php` со подобрена типографија и навигација.

function.pg-fetch-result.php

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_fetch_resultВраќа вредности од примерок на резултат

= NULL

pg_fetch_result(PgSql\Result $result, string|false|null $row, mixed $field): string|false|null
pg_fetch_result(PgSql\Result $result, mixed $field): string|false|null

pg_fetch_result() враќа вредност од одреден ред и поле (колона) во PgSql\Result instance.

Забелешка:

Оваа функција порано се нарекуваше pg_result().

Параметри

result

Еден PgSql\Result инстанца, вратена од pg_query(), pg_query_params() or pg_execute()инстанца, или ознаката за завршување на PostgreSQL командата поврзана со резултатот

row

Број на ред во резултатот за преземање. Редовите се нумерирани од 0 нагоре. Ако е изоставен, се презема следниот ред.

field

А string што го претставува името на полето (колоната) за преземање, инаку int што го претставува бројот на полето за преземање. Полињата се нумерирани од 0 нагоре.

Вратени вредности

Буловата вредност се враќа како "t" или "f". Сите други типови, вклучувајќи ги и низите, се враќаат како низи форматирани на истиот стандарден PostgreSQL начин што би го виделе во psql програма. База на податоци NULL вредностите се враќаат како null.

false се враќа ако row го надминува бројот на редови во множеството, или при каква било друга грешка.

Дневник на промени

Верзија = NULL
8.3.0 row сега е null.
8.1.0 На result параметарот очекува PgSql\Result инстанца сега; претходно, а resource се очекуваше.

Примери

Пример #1 pg_fetch_result() example

<?php
$db
= pg_connect("dbname=users user=me");

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo
"First field in the second row is: ", $val, "\n";
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

First field in the second row is: 2

Види Исто така

  • pg_query() за да го одредите резултатот од барањето.
  • pg_fetch_array() - Преземи ред како низа

Белешки од корисници 5 белешки

ElDiablo
пред 7 години
Please note that a very old bug (#76548) has been fixed in 7.2.8.

Previously, pg_fetch_result did not fetch the next row if $row was omitted.
It is now well the case, so bad use of the function can now cause some bugs in your codes.
newby_AT_nobletec_DOT_com
пред 23 години
Comment on boolean fields:

If you retrieve a boolean value from the PostgreSQL database, be aware that the value returned will be either the character 't' or the character 'f', not an integer.  So, the statement

     if (pg_fetch_result($rsRecords,0,'blnTrueFalseField')) {
       echo "TRUE";
     } else {
       echo "FALSE";
     }

will echo "TRUE" in either case (True or False stored in the field).  In order to work as expected, do this instead:

     if (pg_fetch_result($rsRecords,0,'blnTrueFalseField') == 't') {
       echo "TRUE";
     } else {
       echo "FALSE";
     }
Алан У. Кенингтон
19 години пред
See bug #33809 http://bugs.php.net/bug.php?id=33809
Whether this really is a bug or a feature is not clear.
However, it is probably best to always put your column names in extra quotes.

$res = pg_query(...);
$colname = pg_field_name($res, $j);
pg_fetch_result($res, $i, "\"$colname\"");
Алан У Кенингтон
19 години пред
In order to use upper case in pg_fetch_result column names, it is apparently necessary to include explicit quotation marks.

Thus when I do this sort of thing:

$res = pg_query(...);
$ncols = pg_num_fields($res);
for ($j = 0; $j < $ncols; ++$j) {
    $colname[$j] = pg_field_name($res, $j);
    $name = htmlspecialchars($colname[$j]);
    print("Column $j name = \"$name\"\n");
    $value = htmlspecialchars(pg_fetch_result($res, 0, $colname[$j]));
    print("Column \"{$colname[$j]}\" value = \"$value\"\n");
    }

I get this sort of thing:

[....]
Warning: pg_fetch_result() [function.pg-fetch-result]: Bad column offset specified in /.../view.php on line 247
Column 8 name = "VEC index"
Column "VEC index" value = ""

But if I change the $value line to this:

$value = htmlspecialchars(pg_fetch_result($res, 0, "\"$colname[$j]\""));

I get this:

[...]
Column 8 name = "VEC index"
Column "VEC index" value[0] = "47"

In my opinion, pg_fetch_result(...) should use the quotes already. In other words, this may be a bug in the PHP postgres library. It does not seem to be a documented feature of pg_fetch_result() although the postgresql manual documents it under "SQL syntax", "Lexical structure".

PHP version 5.1.4.
psql version 8.1.4.
Акбар
21 години пред
Use can use pg_fetch_result when getting a value (like a smallint as in this example) returned by your stored procedure 

<?php
$pgConnection = pg_connect("dbname=users user=me");

$userNameToCheckFor = "metal";

$result = pg_query($pgConnection, "SELECT howManyUsersHaveThisName('$userNameToCheckFor')");

$count = pg_fetch_result($result, 0, 'howManyUsersHaveThisName');

?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.