(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_fetch_all — 取得されたすべての行を配列として取得する
pg_fetch_all()は、 PgSql\Result インスタンスのすべての行 (レコード)を保持する配列を返します。
注意: この関数は、 NULL フィールドに PHPの
null値を設定します。
resultpg_query()、pg_query_params() や (様々な関数がありますが、特に) pg_execute() が返した PgSql\Result クラスのインスタンス。
mode
返される配列のインデックスを制御するオプションの引数です。
mode は定数で、以下の値を取ることができます。:
PGSQL_ASSOC, PGSQL_NUM, PGSQL_BOTH。
PGSQL_NUM を使うと、配列のインデックスを数値にした配列を返します。PGSQL_ASSOC を使うと、連想配列のインデックスを返します。PGSQL_BOTH を指定すると、数値と連想配列のインデックスを両方含めた形で配列を返します。
結果のすべての行を含む配列を返します。それぞれの行は、フィールド名を 添字とするフィールド値の配列です。
| バージョン | 説明 |
|---|---|
| 8.1.0 |
result は、PgSql\Result
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、resource を期待していました。
|
| 8.0.0 |
pg_fetch_all() は
結果セットが0行の場合、false ではなく、
空の配列を返すようになりました。
|
| 7.1.0 |
mode パラメータが追加されました。
|
例1 PostgreSQL fetch all
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}
$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}
$arr = pg_fetch_all($result);
print_r($arr);
?>上の例の出力は、 たとえば以下のようになります。
Array
(
[0] => Array
(
[id] => 1
[name] => Fred
)
[1] => Array
(
[id] => 2
[name] => Bob
)
)