PHP:PostgreSQLで取得した全てのデータを配列で取得「pg_fetch_all」

phpPostgreSQLのデータを取得する時に、取得したデータ全て配列で取得したい場合があります。

pg_fetch_all()」を使用すれば「pg_query()」で実行した全てのデータを配列で取得することができます。

下記にpg_fetch_all()の説明と使用方法を記述します。

PostgreSQLはあまり使用することが少ないので、メモしておきます。


「pg_fetch_all()」の説明

取得した全てのデータを配列で取得します。

pg_fetch_all(クエリ結果)

「pg_fetch_all()」の使用方法

下記にpg_fetch_all()を使用した時の使用例を記述します。

<?php

// PostgreSQLに接続
$conn = pg_connect('host=localhost dbname=dbname user=username password=password');

// SQL文を実行
$result = pg_query('SELECT * FROM sample');

// 全てのデータを配列で取得
$data = pg_fetch_all($result);

// PostgreSQLを切断
$close = pg_close($conn);

?>

pg_fetch_all()で取得した値は下記のように配列で取得します。

Array
(
	[0] => Array
		(
			[id] => 1
			[name] => test1
			[status] => 1
		)

	[1] => Array
		(
			[id] => 2
			[name] => test2
			[status] => 2
		)

		・
		・
		・
)

データの取得方法は他にも色々ありますが、配列で全てのデータを取得する場合は
「pg_fetch_all()」を使用すると、配列で取得することができます。