mysqli_result::fetch_object
mysqli_fetch_object
結果セットの次の行を取得し、オブジェクトとして返す
&reftitle.description;
&style.oop;
public objectnullfalsemysqli_result::fetch_object
stringclass"stdClass"
arrayconstructor_args[]
&style.procedural;
objectnullfalsemysqli_fetch_object
mysqli_resultresult
stringclass"stdClass"
arrayconstructor_args[]
結果セットから1行取得し、それをオブジェクトとして返します。
このオブジェクトは、結果セットのカラム名をプロパティとして持ちます。
値を取得した後は、この関数をコールするたびに結果セットの次の行の値を返します。
もう結果セットに行がない場合には &null; を返します。
もし2つ以上のカラムが同じ名前であった場合は、最後に現れた
カラムが優先され、以前のあらゆるデータを上書きします。同名の複数のカラムに
アクセスする場合、mysqli_fetch_row を用いて
数値添字配列を使用するか、あるいは SQL クエリ中の SELECT
リストに異なる名前を与えるために、カラムにエイリアスを指定する
必要があります。
この関数がオブジェクトのプロパティを設定するのは、
オブジェクトのコンストラクタをコールする前であることに注意しましょう。
&database.field-case;
&database.fetch-null;
&reftitle.parameters;
&mysqli.result.description;
class
インスタンス化してプロパティを設定後に返すクラスの名前。
省略した場合は stdClass オブジェクトを返します。
constructor_args
オプションのパラメータの配列で、
class オブジェクトのコンストラクタに渡します。
&reftitle.returnvalues;
取得した行を表すオブジェクトを返します。
これは、個別のプロパティが結果セットのカラム名を表します。
結果セットにもう行がない場合には &null; を返します。
&return.falseforfailure;
&reftitle.errors;
constructor_args が空でないのに、
そのクラスがコンストラクタを持たない場合、
ValueError がスローされます。
&reftitle.changelog;
&Version;
&Description;
8.3.0
constructor_args が空でないのに、
そのクラスがコンストラクタを持たない場合、
ValueError がスローされるようになりました。
これより前のバージョンでは、
Exception がスローされていました。
8.0.0
constructor_args は、
引数を指定しない場合に []
を受け入れるようになりました。
これより前のバージョンでは、例外がスローされていました。
&reftitle.examples;
mysqli_result::fetch_object の例
&style.oop;
query($query);
while ($obj = $result->fetch_object()) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
]]>
&style.procedural;
Name, $obj->CountryCode);
}
]]>
&examples.outputs.similar;
&reftitle.seealso;
mysqli_fetch_array
mysqli_fetch_assoc
mysqli_fetch_column
mysqli_fetch_row
mysqli_query
mysqli_data_seek