mysqli_result::fetch_object
mysqli_fetch_object
結果セットの次の行を取得し、オブジェクトとして返す
説明
オブジェクト指向型
public objectnullfalse mysqli_result::fetch_object(string $class
= "stdClass", array $constructor_args
= [])
objectnullfalse mysqli_fetch_object(mysqli_result $result
, string $class
= "stdClass", array $constructor_args
= [])
もし2つ以上のカラムが同じ名前であった場合は、最後に現れた
カラムが優先され、以前のあらゆるデータを上書きします。同名の複数のカラムに
アクセスする場合、mysqli_fetch_row を用いて
数値添字配列を使用するか、あるいは SQL クエリ中の SELECT
リストに異なる名前を与えるために、カラムにエイリアスを指定する
必要があります。
注意:
この関数がオブジェクトのプロパティを設定するのは、
オブジェクトのコンストラクタをコールする前であることに注意しましょう。
注意: この関数により返されるフィー
ルド名は 大文字小文字を区別 します。
注意: この関数は、
NULL フィールドに PHPの null
値を設定します。
パラメータ
-
result
-
手続き型のみ: mysqli_query、mysqli_store_result、mysqli_use_result、mysqli_stmt_get_result が返す mysqli_result オブジェクト。
-
class
-
インスタンス化してプロパティを設定後に返すクラスの名前。
省略した場合は stdClass オブジェクトを返します。
-
constructor_args
-
オプションのパラメータの配列で、
class
オブジェクトのコンストラクタに渡します。
戻り値
取得した行を表すオブジェクトを返します。
これは、個別のプロパティが結果セットのカラム名を表します。
結果セットにもう行がない場合には null
を返します。
失敗した場合に false
を返します
エラー / 例外
constructor_args
が空でないのに、
そのクラスがコンストラクタを持たない場合、
ValueError がスローされます。
例
例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)
参考
- mysqli_fetch_array
- mysqli_fetch_assoc
- mysqli_fetch_column
- mysqli_fetch_row
- mysqli_query
- mysqli_data_seek