mysqli_result オブジェクトを構築する

# mysqli_result::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_result::__construct — mysqli_result オブジェクトを構築する

### 説明

public function mysqli_result::__construct(mysqli `$mysql`, int `$result_mode` = `MYSQLI_STORE_RESULT`)

このメソッドは、新しい mysqli_result オブジェクトを構築します。

mysqli_real_query() や mysqli_multi_query() 関数をコールした後に mysqli_result を作成するために使います。 このオブジェクトを手動で作成することは、 mysqli_store_result() や mysqli_use_result() をコールすることと同じです。

### パラメータ

`link`
  手続き型のみ: mysqli_connect() あるいは mysqli_init() が返す mysqliオブジェクト。
`result_mode`

  MySQL サーバーから結果をどう返すかを、 以下の定数のいずれかで指定できます。

  `MYSQLI_STORE_RESULT` (デフォルト) - バッファリングされた結果セットを使って、 mysqli_result オブジェクトを作成します。

  `MYSQLI_USE_RESULT` - バッファリングされていない結果セットを使って、 mysqli_result オブジェクトを構築します。 取得されるのを待っている保留中のレコードが存在する限り、 接続はビジーとなり、 それ以後のクエリの呼び出しは `Commands out of sync` エラーが発生します。 このエラーを避けるには、 全てのレコードをサーバーから取得するか、 mysqli_free_result() をコールして結果セットを破棄しなければいけません。 行を取得するために、接続はオープンしたままでなければいけません。

### エラー / 例外

mysqli のエラー報告 (`MYSQLI_REPORT_ERROR`) が有効になっており、かつ要求された操作が失敗した場合は、警告が発生します。さらに、エラー報告のモードが `MYSQLI_REPORT_STRICT` に設定されていた場合は、mysqli_sql_exception が代わりにスローされます。

### 例

例1 mysqli_result オブジェクトを作る

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* Select queries return a result set */
    $mysqli->real_query("SELECT Name FROM City LIMIT 10");

    $result = new mysqli_result($mysqli);
    printf("Select returned %d rows.\n", $result->num_rows);

上の例の出力は、 たとえば以下のようになります。

    Select returned 10 rows.

### 参考

- mysqli_multi_query() - データベース上でひとつ以上のクエリを実行する
- mysqli_real_query() - SQL クエリを実行する
- mysqli_store_result() - 直近のクエリから結果セットを転送する
- mysqli_use_result() - 結果セットの取得を開始する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open