sqlsrv_cancel Cancels a statement &reftitle.description; boolsqlsrv_cancel resourcestmt Cancels a statement. Any results associated with the statement that have not been consumed are deleted. After sqlsrv_cancel has been called, the specified statement can be re-executed if it was created with sqlsrv_prepare. Calling sqlsrv_cancel is not necessary if all the results associated with the statement have been consumed. &reftitle.parameters; stmt The statement resource to be cancelled. &reftitle.returnvalues; &return.success; &reftitle.examples; <function>sqlsrv_cancel</function> example "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.
"; // Cancel the pending results. The statement can be reused. sqlsrv_cancel( $stmt); ?> ]]>
&reftitle.notes; The main difference between sqlsrv_cancel and sqlsrv_free_stmt is that a statement resource cancelled with sqlsrv_cancel can be re-executed if it was created with sqlsrv_prepare. A statement resource cancelled with sqlsrv_free_statement cannot be re-executed. &reftitle.seealso; sqlsrv_free_stmt sqlsrv_prepare