函数名称:mysqli_stmt::$num_rows()
适用版本:PHP 5, PHP 7
用法:mysqli_stmt::$num_rows() 函数用于获取由预处理语句返回的结果集中的行数。
语法:int mysqli_stmt::$num_rows ( void )
参数:无
返回值:返回结果集中的行数,如果结果集为空,则返回0。
示例:
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "dbname");
// 检查连接是否成功
if ($mysqli->connect_errno) {
echo "连接数据库失败:" . $mysqli->connect_error;
exit();
}
// 准备预处理语句
$query = "SELECT * FROM users WHERE age > ?";
$stmt = $mysqli->prepare($query);
// 绑定参数
$minAge = 18;
$stmt->bind_param("i", $minAge);
// 执行预处理语句
$stmt->execute();
// 存储结果集
$stmt->store_result();
// 获取结果集中的行数
$numRows = $stmt->num_rows;
// 输出行数
echo "结果集中的行数:" . $numRows;
// 关闭预处理语句和数据库连接
$stmt->close();
$mysqli->close();
上述示例中,我们首先创建了一个数据库连接,然后准备了一个预处理语句,其中包含一个参数占位符。我们绑定了一个参数值,然后执行预处理语句并存储结果集。最后,通过调用 mysqli_stmt::$num_rows() 函数,我们获取了结果集中的行数并将其输出。
请注意,使用 mysqli_stmt::$num_rows() 函数之前,必须先执行 mysqli_stmt::$store_result() 函数,以便将结果集存储在内存中,否则该函数将返回0。