函数名称:sqlsrv_free_stmt()
函数描述:释放与指定语句句柄关联的所有资源。
适用版本:PHP 5.2.0 及以上版本
语法:bool sqlsrv_free_stmt( resource $stmt )
参数:
- $stmt: 必需。表示 SQL 语句的句柄。该句柄是由 sqlsrv_query() 或 sqlsrv_prepare() 返回的结果。
返回值:
- 成功时返回 true,失败时返回 false。
示例:
<?php
// 连接到数据库
$serverName = "localhost";
$connectionOptions = array(
"Database" => "myDB",
"Uid" => "username",
"PWD" => "password"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
// 准备 SQL 查询
$sql = "SELECT * FROM myTable";
$stmt = sqlsrv_prepare($conn, $sql);
// 执行查询
if (sqlsrv_execute($stmt)) {
// 处理查询结果
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
echo $row['column1'] . ", " . $row['column2'] . "<br>";
}
} else {
echo "查询失败";
}
// 释放语句句柄
sqlsrv_free_stmt($stmt);
// 关闭数据库连接
sqlsrv_close($conn);
?>
上述示例中,我们首先使用 sqlsrv_prepare() 函数准备了一个 SQL 查询的句柄。然后使用 sqlsrv_execute() 函数执行查询,并使用 sqlsrv_fetch_array() 函数从结果集中获取数据。最后,使用 sqlsrv_free_stmt() 函数释放语句句柄,以释放与该句柄关联的所有资源。最后,使用 sqlsrv_close() 函数关闭数据库连接。
请注意,使用 sqlsrv_free_stmt() 函数释放语句句柄后,不能再对该语句句柄执行任何操作。因此,建议在不需要使用该语句句柄后立即释放它,以避免资源泄漏。