(No version information available, might only be in Git)
sqlsrv_cancel — Cancela uma declaração
Cancela uma declaração. Quaisquer resultados associados à declaração que não tenham sido consumidos são excluídos. Depois que sqlsrv_cancel() for chamado, a declaração especificada pode ser reexecutada se tiver sido criada com sqlsrv_prepare(). Chamar sqlsrv_cancel() não é necessário se todos os resultados associados à declaração tiverem sido consumidos.
stmt
O recurso de declaração a ser cancelado.
Exemplo #1 Exemplo de 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 />";
// Cancela os resultados pendentes. A declaração pode ser reutilizada.
sqlsrv_cancel($stmt);
?>
A principal diferença entre sqlsrv_cancel() e sqlsrv_free_stmt() é que um recurso de declaração cancelado com sqlsrv_cancel() pode ser reexecutado se tiver sido criado com sqlsrv_prepare(). Um recurso de declaração cancelado com sqlsrv_free_statement() não pode ser reexecutado.