指定したステートメントのパラメータ数を返す

# mysqli_stmt::$param_count

# mysqli_stmt_param_count

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$param_count -- mysqli_stmt_param_count — 指定したステートメントのパラメータ数を返す

### 説明

オブジェクト指向型

int $mysqli_stmt->param_count;

手続き型

function mysqli_stmt_param_count(mysqli_stmt `$statement`): int

プリペアドステートメント内のパラメータマーカの数を返します。

### パラメータ

`stmt`
  手続き型のみ: mysqli_stmt_init() が返す mysqli_stmt オブジェクト。

### 戻り値

パラメータの数を整数で返します。

### 例

例1 オブジェクト指向型

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* 接続状況をチェックします */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }

    if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

        $marker = $stmt->param_count;
        printf("Statement has %d markers.\n", $marker);

        /* ステートメントを閉じます */
        $stmt->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();
    }

    if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

        $marker = mysqli_stmt_param_count($stmt);
        printf("Statement has %d markers.\n", $marker);

        /* ステートメントを閉じます */
        mysqli_stmt_close($stmt);
    }

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

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

    Statement has 2 markers.

### 参考

- mysqli_prepare() - 実行するための SQL文 を準備する

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