直近の実行されたクエリから発生した警告の数を返す

# mysqli::$warning_count

# mysqli_warning_count

(PHP 5, PHP 7, PHP 8)

mysqli::$warning_count -- mysqli_warning_count — 直近の実行されたクエリから発生した警告の数を返す

### 説明

オブジェクト指向型

int $mysqli->warning_count;

手続き型

function mysqli_warning_count(mysqli `$mysql`): int

直近の実行されたクエリから発生した警告の数を返します。

> 注意: 警告の内容を取得するには、以下のSQLコマンドを使用します: `SHOW WARNINGS [limit row_count]`

### パラメータ

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

### 戻り値

警告の数を返します。警告がなかった場合はゼロを返します。

### 例

例1 $mysqli->warning_count の例

オブジェクト指向型

    <?php

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

    $mysqli->query("SELECT 42/0");

    if ($mysqli->warning_count > 0) {
        $result = $mysqli->query("SHOW WARNINGS");
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
    }

手続き型

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    mysqli_query($link, "SELECT 42/0");

    if (mysqli_warning_count($link) > 0) {
        $result = mysqli_query($link, "SHOW WARNINGS");
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
    }

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

    Warning (1365): Division by 0

### 参考

- mysqli_errno() - 直近の関数コールによるエラーコードを返す
- mysqli_error() - 直近のエラーの内容を文字列で返す
- mysqli_sqlstate() - 直前の MySQL の操作での SQLSTATE エラーを返す

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