(No version information available, might only be in SVN)
sqlsrv_cancel — Annule une requête
$stmt
)Annule une requête. Tous les résultats associés avec la requête qui n'ont pas été utilisés seront supprimés. Après l'appel à la fonction sqlsrv_cancel(), la requête spécifiée peut être ré-exécutée si elle a été créée avec la fonction sqlsrv_prepare(). L'appel à la fonction sqlsrv_cancel() n'est pas nécessaire si tous les résultats associés avec la requête ont été utilisés.
stmt
La ressource de la requête à annuler.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec 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 />";
// Annule les résultats restants. La requête peut être ré-utilisée.
sqlsrv_cancel( $stmt);
?>
La principale différence entre la fonction sqlsrv_cancel() et la fonction sqlsrv_free_stmt() est qu'une ressource de requête annulée avec la fonction sqlsrv_cancel() peut être ré-utilisée si elle a été créée avec la fonction sqlsrv_prepare(). Une ressource de requête annulée avec la fonction sqlsrv_free_statement() ne peut plus être ré-exécutée.