pg_fetch_object
行をオブジェクトとして得る
説明
objectfalse pg_fetch_object(
PgSql\Result $result
,
intnull $row
= null
,
string $class
= "stdClass",
array $constructor_args
= []
)
注意: この関数は、
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
を返します。
エラー / 例外
constructor_args
が空ではないのに、
クラスにコンストラクタが存在しない場合、
ValueError がスローされます。
例
例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);
?>
参考
- pg_query
- pg_fetch_array
- pg_fetch_assoc
- pg_fetch_row
- pg_fetch_result