• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mysqli::$warning_count()

    (PHP 5, PHP 7)

    Returns the number of warnings from the last query for the given link

    说明

    面向对象风格
    int $mysqli->warning_count;
    过程化风格
    mysqli_warning_count(mysqli$link): int

    Returns the number of warnings from the last query in the connection.

    Note:

    For retrieving warning messages you can use the SQL commandSHOW WARNINGS[limit row_count].

    参数

    $link

    仅以过程化样式:由mysqli_connect()或mysqli_init()返回的链接标识。

    返回值

    Number of warnings or zero if there are no warnings.

    范例

    Example #1$mysqli->warning_countexample

    面向对象风格

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    $mysqli->query("CREATE TABLE myCity LIKE City");
    /* a remarkable city in Wales */
    $query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
            'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";
    $mysqli->query($query);
    if ($mysqli->warning_count) {
        if ($result = $mysqli->query("SHOW WARNINGS")) {
            $row = $result->fetch_row();
            printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
            $result->close();
        }
    }
    /* close connection */
    $mysqli->close();
    ?>
    

    过程化风格

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    mysqli_query($link, "CREATE TABLE myCity LIKE City");
    /* a remarkable long city name in Wales */
    $query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
            'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";
    mysqli_query($link, $query);
    if (mysqli_warning_count($link)) {
        if ($result = mysqli_query($link, "SHOW WARNINGS")) {
            $row = mysqli_fetch_row($result);
            printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
            mysqli_free_result($result);
        }
    }
    /* close connection */
    mysqli_close($link);
    ?>
    

    以上例程会输出:

    Warning (1264): Data truncated for column 'Name' at row 1
    

    参见

    • mysqli_errno() 返回最近函数调用的错误代码
    • mysqli_error() Returns a string description of the last error
    • mysqli_sqlstate() 返回上一次 SQL 操作的 SQLSTATE 错误信息