結果ポインタを、指定したフィールドオフセットに設定する

# mysqli_result::field_seek

# mysqli_field_seek

(PHP 5, PHP 7, PHP 8)

mysqli_result::field_seek -- mysqli_field_seek — 結果ポインタを、指定したフィールドオフセットに設定する

### 説明

オブジェクト指向型

public function mysqli_result::field_seek(int `$index`): true

手続き型

function mysqli_field_seek(mysqli_result `$result`, int `$index`): true

フィールドカーソルを指定したオフセットに設定します。 mysqli_fetch_field() を次にコールした際に、 設定したオフセットに関連するカラムのフィールド定義を取得します。

> 注意:

> 行のはじめに移動するには、オフセットとしてゼロを指定します。

### パラメータ

`result`
  手続き型のみ: mysqli_query()、mysqli_store_result()、mysqli_use_result()、mysqli_stmt_get_result() が返す mysqli_result オブジェクト。
`index`

  フィールド番号。これは `0` から `フィールド数 - 1` までの範囲でなければなりません。

### 戻り値

常に `true` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | この関数は、常に `true` を返すようになりました。 これより前のバージョンでは、失敗時に `false` を返していました。

### 例

例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, SurfaceArea from Country ORDER BY Code LIMIT 5";

    if ($result = $mysqli->query($query)) {

        /* 2 番目のカラムのフィールド情報を取得します */
        $result->field_seek(1);
        $finfo = $result->fetch_field();

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);

        $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, SurfaceArea from Country ORDER BY Code LIMIT 5";

    if ($result = mysqli_query($link, $query)) {

        /* 2 番目のカラムのフィールド情報を取得します */
        mysqli_field_seek($result, 1);
        $finfo = mysqli_fetch_field($result);

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);

        mysqli_free_result($result);
    }

    /* 接続を閉じます */
    mysqli_close($link);
    ?>

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

    Name:     SurfaceArea
    Table:    Country
    max. Len: 10
    Flags:    32769
    Type:     4

### 参考

- mysqli_fetch_field() - 結果セットの次のフィールドを返す

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