在线文档教程

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()取消的语句资源不能重新执行。