sqlsrv_cancel
sqlsrv_cancel
(没有可用的版本信息,可能只在Git中)
sqlsrv_cancel - 取消语句
描述
bool sqlsrv_cancel ( resource $stmt )
取消声明。任何与未被使用的语句相关的结果都将被删除。在调用sqlsrv_cancel()
之后,如果使用sqlsrv_prepare()创建指定的语句,则可以重新执行指定的语句。如果与该语句相关的所有结果都已消耗完毕,
则不需要调用sqlsrv_cancel()
。
参数
stmt
要取消的语句资源。
返回值
成功时返回TRUE
或失败时返回FALSE
。
例子
示例#1 sqlsrv_cancel()示例
<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password"
$conn = sqlsrv_connect( $serverName, $connectionInfo
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true)
}
$sql = "SELECT Sales FROM Table_1";
$stmt = sqlsrv_prepare( $conn, $sql
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true)
}
if( sqlsrv_execute( $stmt ) === false) {
die( print_r( sqlsrv_errors(), true)
}
$salesTotal = 0;
$count = 0;
while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
$qty = $row[0];
$price = $row[1];
$salesTotal += ( $price * $qty
$count++;
}
echo "$count sales accounted for the first $$salesTotal in revenue.<br />";
// Cancel the pending results. The statement can be reused.
sqlsrv_cancel( $stmt
?>
笔记
sqlsrv_cancel()
和sqlsrv_free_stmt()之间的主要区别是,如果使用sqlsrv_prepare()创建的话,可以重新执行用sqlsrv_cancel()
取消的语句资源。用sqlsrv_free_statement()
取消的语句资源不能重新执行。