pg_fetch_object

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_object行をオブジェクトとして得る

説明

pg_fetch_object(
    PgSql\Result $result,
    ?int $row = null,
    string $class = "stdClass",
    array $constructor_args = []
): object|false

pg_fetch_object() は、取得した行のフィールド名に 対応するプロパティを有するオブジェクトを返します。オプションとして、 指定したクラスのコンストラクタにパラメータを渡してインスタンス化する ことも可能です。

注意: この関数は、 NULL フィールドに PHPの null 値を設定します。

速度面では、この関数は pg_fetch_array() と同じであり、 pg_fetch_row() とほとんど同じ程度です (違いはわずかです)。

パラメータ

result

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

row

取得する行番号。最初の行は 0 です。省略したり null を指定したりした場合は、 次の行を取得します。

class

インスタンス化し、プロパティを設定して戻り値とするクラスの名前。 指定しない場合は stdClass オブジェクトが返されます。

constructor_args

class オブジェクトのコンストラクタに 渡すオプションの配列。

戻り値

結果の各フィールドに対応する属性を持つ object を返します。 データベースの NULL 値は null として返します。

row が結果の行数より大きい場合・行が存在しない場合 、そしてそれ以外のエラーが発生した場合は false を返します。

変更履歴

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

例1 pg_fetch_object() の例

<?php 

$database 
"store";

$db_conn pg_connect("host=localhost port=5432 dbname=$database");
if (!
$db_conn) {
  echo 
"Failed connecting to postgres database $database\n";
  exit;
}

$qu pg_query($db_conn"SELECT * FROM books ORDER BY author");


while (
$data pg_fetch_object($qu)) {
  echo 
$data->author " (";
  echo 
$data->year "): ";
  echo 
$data->title "<br />";
}

pg_free_result($qu);
pg_close($db_conn);

?>

参考

関連キーワード:  fetch, オブジェクト, , result, row, 取得, 関数, クラス, array, インスタンス