{site_name}

{site_name}

🌜 搜索

在 PHP 中,mysqli_stmt::store_result() 方法用于为以前执行的 SQL 语句存储结果集

php 𝄐 0
phpMySQLi手册
在 PHP 中,mysqli_stmt::store_result() 方法用于为以前执行的 SQL 语句存储结果集。这个方法的主要作用是将结果集保存在服务器上,然后通过逐步获取结果来访问数据。

使用 mysqli_stmt::store_result() 的主要原因是当你想要在结果集中获取多个行数据时,你需要将结果集缓存在服务器上。如果没有使用此方法,只会直接返回一个空结果。

以下是一个示例,演示了如何使用 mysqli_stmt::store_result() 方法:


// 创建 MySQLi 连接
$mysqli = new mysqli("localhost", "username", "password", "database");

// 准备 SQL 查询
$query = "SELECT column1, column2 FROM table WHERE condition=?";

// 创建预处理语句
$stmt = $mysqli->prepare($query);

// 绑定参数
$stmt->bind_param("s", $condition);

// 执行查询
$stmt->execute();

// 存储结果集
$stmt->store_result();

// 绑定结果列
$stmt->bind_result($column1, $column2);

// 遍历结果集
while ($stmt->fetch()) {
// 处理每一行数据
echo $column1 . " " . $column2 . "<br>";
}

// 关闭预处理语句
$stmt->close();

// 关闭 MySQLi 连接
$mysqli->close();


在上面的示例中,首先创建了一个 MySQLi 连接并准备了 SQL 查询语句。然后,创建了一个预处理语句并绑定了参数。接下来,执行查询并使用 mysqli_stmt::store_result() 方法来存储结果集。然后,使用 mysqli_stmt::bind_result() 方法将结果列绑定到变量中。最后,通过循环遍历结果集并处理每一行的数据。

请注意,使用 mysqli_stmt::store_result() 之前必须要执行 mysqli_stmt::execute() 方法,以确保查询已执行。同时,使用 mysqli_stmt::store_result() 方法之后,需要调用 mysqli_stmt::close() 方法来关闭预处理语句,以及调用 $mysqli->close() 方法来关闭 MySQLi 连接。

希望这个示例可以帮助你理解如何使用 mysqli_stmt::store_result() 方法。如果你有更多问题,请随时提问。