mysqli::$warning_count

mysqli_warning_count

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

説明

オブジェクト指向型

int$mysqli->warning_count;

手続き型

int mysqli_warning_count(mysqli $mysql)

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

注意: 警告の内容を取得するには、以下の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