PHP mysqli::$warning_count / mysqli_warning_count() 函数返回来自最后一个查询的警告数量
注意:要检索警告消息,可以使用 SQL 命令SHOW WARNINGS [limit row_count]。
语法
//面向对象风格
$mysqli->warning_count;
//面向过程风格
mysqli_warning_count(mysql)
参数
mysql | 必填。 仅适用于面向过程风格:指定 mysqli_connect() 或 mysqli_init() 返回的 mysqli 对象。 |
返回值
返回警告数量,如果没有警告则返回零。
示例:面向对象风格
下面的示例显示mysqli::$warning_count<的用法/i> 属性。
<?php
//建立与数据库的连接
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_warning_count) {
echo "Failed to connect to MySQL: ". $mysqli->connect_error;
exit();
}
$mysqli->query("CREATE TABLE myEmployee LIKE Employee");
//威尔士的一座非凡城市
$query = "INSERT INTO myEmployee (Name, Age, City) VALUES('John', 28
'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();
}
}
//关闭连接
$mysqli->close();
?>
上述代码的输出将类似于:
Warning (1264): Data truncated for column 'City' at row 1
示例:面向过程风格
下面的示例显示 mysqli_warning_count() 函数的用法。
<?php
//建立与数据库的连接
$mysqli = mysqli_connect("localhost", "user", "password", "database");
if (mysqli_connect_warning_count()) {
echo "Failed to connect to MySQL: ". mysqli_connect_error();
exit();
}
mysqli_query($mysqli, "CREATE TABLE myEmployee LIKE Employee");
//威尔士的一座非凡城市
$query = "INSERT INTO myEmployee (Name, Age, City) VALUES('John', 28
'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";
mysqli_query($mysqli, $query);
if (mysqli_warning_count($mysqli)) {
if ($result = mysqli_query($mysqli, "SHOW WARNINGS")) {
$row = mysqli_fetch_row($result);
printf("%s, %d, %s \n", $row[0], $row[1], $row[2]);
mysqli_free_result($result);
}
}
//关闭连接
mysqli_close($mysqli);
?>
上述代码的输出将类似于:
Warning (1264): Data truncated for column 'City' at row 1