結果セットの現在の行をオブジェクトとして返す

# mysqli_result::fetch_object

# mysqli_fetch_object

(PHP 5, PHP 7)

mysqli_result::fetch_object -- mysqli_fetch_object — 結果セットの現在の行をオブジェクトとして返す

### 説明

オブジェクト指向型

mysqli_result::fetch_object ([ string `$class_name` = "stdClass" [, array `$params` ]] ) : object

手続き型

mysqli_fetch_object ( mysqli_result `$result` [, string `$class_name` = "stdClass" [, array `$params` ]] ) : object

mysqli_fetch_object() は、結果セットの現在の行を オブジェクトで返します。このオブジェクトは、結果セットのフィールド名を 属性として持ちます。

mysqli_fetch_object() がオブジェクトのプロパティを設定するのは、 オブジェクトのコンストラクタをコールする前であることに注意しましょう。

### パラメータ

`result`

  手続き型のみ: mysqli_query()、mysqli_store_result() あるいは mysqli_use_result() が返す結果セット ID。

`class_name`

  インスタンス化してプロパティを設定後に返すクラスの名前。 省略した場合は stdClass オブジェクトを返します。

`params`

  オプションのパラメータの配列で、 `class_name` オブジェクトのコンストラクタに渡します。

### 返り値

取得した行に対応する文字列プロパティを有するオブジェクトを返します。 もし結果セットにもう行がない場合には `NULL` を返します。

> 注意: この関数により返されるフィー ルド名は 大文字小文字を区別 します。

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

### 例

例1 オブジェクト指向型

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = $mysqli->query($query)) {
/* オブジェクトの配列を取得します */
while ($obj = $result->fetch_object()) {
printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
/* 結果セットを開放します */
$result->close();
}
/* 接続を閉じます */
$mysqli->close();
?>`

例2 手続き型

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = mysqli_query($link, $query)) {
/* オブジェクトの配列を取得します */
while ($obj = mysqli_fetch_object($result)) {
printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
/* 結果セットを開放します */
mysqli_free_result($result);
}
/* 接続を閉じます */
mysqli_close($link);
?>`

上の例の出力は以下となります。

    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)

### 参考

- mysqli_fetch_array() - 結果の行を連想配列・数値添字配列あるいはその両方の形式で取得する
- mysqli_fetch_assoc() - 結果の行を連想配列で取得する
- mysqli_fetch_row() - 結果の行を数値添字配列で取得する
- mysqli_query() - データベース上でクエリを実行する
- mysqli_data_seek() - 結果の任意の行にポインタを移動する