{site_name}

{site_name}

🌜 搜索

在PHP中,mysqli_stmt::result_metadata() 方法用

php 𝄐 0
phpMySQLi手册
在PHP中,mysqli_stmt::result_metadata() 方法用于检索由prepare语句返回的结果集的元数据(metadata)。该方法返回一个 mysqli_result 对象,您可以使用它来获取有关结果集的信息,例如列的数量、列名等。

以下是一个示例代码,展示了如何使用 mysqli_stmt::result_metadata() 方法:

php
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");

// 准备一个查询语句
$query = "SELECT id, name, age FROM users WHERE id = ?";

// 创建一个准备语句,并绑定参数
$stmt = $mysqli->prepare($query);
$stmt->bind_param("i", $id);

// 绑定参数值
$id = 1;

// 执行准备语句
$stmt->execute();

// 获取结果集的元数据
$metadata = $stmt->result_metadata();

// 获取结果集中的列数量
$num_fields = $metadata->field_count;

// 获取每一列的名称
while ($field = $metadata->fetch_field()) {
echo '列名:' . $field->name . '<br>';
}

// 释放结果集的元数据
$metadata->free_result();

// 关闭准备语句
$stmt->close();

// 关闭数据库连接
$mysqli->close();
?>


在上面的示例代码中,首先创建了一个 mysqli 对象,并连接到数据库。然后,准备一个查询语句,并创建一个准备语句对象($stmt)。接下来,绑定参数值,并执行准备语句。

然后,通过调用 $stmt->result_metadata() 方法获取结果集的元数据。通过 $metadata->field_count 属性可以获取结果集中的列数量。然后,使用 while 循环和 $metadata->fetch_field() 方法获取每一列的名称,并进行输出。

最后,通过调用 $metadata->free_result() 方法释放结果集的元数据对象,关闭准备语句和数据库连接。