ConFoo 2025

pg_num_fields

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

pg_num_fieldsフィールド数を返す

説明

pg_num_fields(PgSql\Result $result): int

pg_num_fields() は、 PgSql\Result クラスのインスタンスから フィールド(カラム)の数を返します。

注意:

この関数は、以前は pg_numfields() と呼ばれていました。

パラメータ

result

pg_query()pg_query_params() や (様々な関数がありますが、特に) pg_execute() が返した PgSql\Result クラスのインスタンス。

戻り値

結果のフィールド(カラム)数を返します。エラー時には -1 を返します。

変更履歴

バージョン 説明
8.1.0 result は、PgSql\Result クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。

例1 pg_num_fields() の例

<?php
$result
= pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo
$num . " field(s) returned.\n";
?>

上の例の出力は以下となります。

2 field(s) returned.

参考

add a note

User Contributed Notes 1 note

up
-1
mark at redbrick dot dcu dot ie
21 years ago
Here is a simple example for using pg_num_feilds, pg_num_rows and pg_result together. I'm simply SELECTing * from a table named markie on the current pg_connect().

<?php
$pgsql_conn
= pg_connect("dbname=mark host=localhost");

if (!
$pgsql_conn) {
print
pg_last_error($pgsql_conn);
exit;
}

$results = pg_query($pgsql_conn, "SELECT * FROM markie");

echo
"<table border=1>\n";
for(
$lt = 0; $lt < pg_num_rows($results); $lt++) {
echo
"<tr>\n";
for(
$gt = 0; $gt < pg_num_fields($results); $gt++) {
echo
"<td>" . pg_result($results, $lt, $gt) . "</td>\n";
}
echo
"</tr>\n";
}
echo
"</table>\n";

pg_close($pgsql_conn);
?>

This code snippet will print out the rows and columns into a HTML table.

Regards, --mark
To Top