(PHP 5, PHP 7)
mysqli_result::fetch_object -- mysqli_fetch_object — 結果セットの現在の行をオブジェクトとして返す
オブジェクト指向型
$class
= "stdClass"
, array $constructor_args
= []
) : object|null|false手続き型
$result
, string $class
= "stdClass"
, array $constructor_args
= []
) : object|null|false結果セットの現在の行をオブジェクトで返します。 このオブジェクトは、結果セットのフィールド名を属性として持ちます。
注意: この関数がオブジェクトのプロパティを設定するのは、 オブジェクトのコンストラクタをコールする前であることに注意しましょう。
注意: この関数により返されるフィー ルド名は 大文字小文字を区別 します。
注意: この関数は、 NULL フィールドに PHPの
null
値を設定します。
result
手続き型のみ: mysqli_query()、mysqli_store_result() あるいは mysqli_use_result() が返す結果セット ID。
class
インスタンス化してプロパティを設定後に返すクラスの名前。 省略した場合は stdClass オブジェクトを返します。
constructor_args
オプションのパラメータの配列で、
class
オブジェクトのコンストラクタに渡します。
取得した行に対応するオブジェクトを返します。
結果セットにもう行がない場合には null
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
constructor_args は、
引数を指定しない場合に []
を受け入れるようになりました。
これより前のバージョンでは、例外がスローされていました。
|
例1 mysqli_result::fetch_object() の例
オブジェクト指向型
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = $mysqli->query($query);
/* オブジェクトの配列を取得します */
while ($obj = $result->fetch_object()) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
手続き型
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = mysqli_query($link, $query);
/* 連想配列を取得します */
while ($obj = mysqli_fetch_object($result)) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
上の例の出力は、 たとえば以下のようになります。
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)