mysqli::get_warnings
(mysqli_get_warnings)获得SHOW WARNINGS的结果
PHP 5 >= 5.3.0, PHP 7, PHP 8
mysqli::get_warnings 函数用于检索最近执行的 MySQL 语句产生的警告信息。它返回一个 mysqli_warning 对象,包含所有的警告信息。如果没有警告,则返回 null。
public mysqli_warning mysqli::get_warnings ( void )
返回一个 mysqli_warning 对象,包含所有警告信息。如果没有警告则返回 null。
以下示例展示了如何在执行查询后,使用 get_warnings 检索警告信息:
<?php $mysqli = new mysqli("localhost", "user", "password", "database"); if ($mysqli->connect_errno) { echo "连接失败: " . $mysqli->connect_error; exit(); } // 执行可能产生警告的查询 $mysqli->query("CREATE TABLE test (id INT PRIMARY KEY)"); // 插入重复的主键值,可能产生警告 $mysqli->query("INSERT INTO test (id) VALUES (1)"); $mysqli->query("INSERT INTO test (id) VALUES (1)"); $warnings = $mysqli->get_warnings(); if ($warnings) { do { echo "警告: (" . $warnings->errno . ") " . $warnings->message . "\n"; } while ($warnings = $warnings->next()); } else { echo "无警告信息"; } $mysqli->close(); ?>
本示例首先连接到 MySQL 数据库,然后创建一个简单的表。接着插入一条数据,再次插入相同主键值触发警告。调用 get_warnings() 获取警告信息并通过循环遍历打印每条警告的错误号和信息。如果没有警告,则输出“无警告信息”。