Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ruší výpis. To znamená, že všechny čekající výsledky pro výpis jsou zamítnuty. Po vyvolání této funkce lze příkaz znovu vykonat, pokud byl připraven s sqlsrv_prepare. Volání této funkce není nutné, pokud byly všechny výsledky spojené s daným tvrzením spotřebovány.
Syntax
sqlsrv_cancel( resource $stmt)
Parametry
$stmt: Prohlášení ke zrušení.
Návratová hodnota
Booleovská hodnota: pravdivá , pokud byla operace úspěšná. Jinak nepravda.
Example
Následující příklad cílí na databázi AdventureWorks k vykonání dotazu, poté spotřebovává a počítá výsledky, dokud proměnná $salesTotal nedosáhne stanovené hodnoty. Zbývající výsledky dotazu jsou pak zamítnuty. Příklad předpokládá, že SQL Server a databáze AdventureWorks jsou nainstalovány na lokálním počítači. Při spuštění příkladu z příkazového řádku se veškerý výstup zapíše do konzoly.
<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Prepare and execute the query. */
$tsql = "SELECT OrderQty, UnitPrice FROM Sales.SalesOrderDetail";
$stmt = sqlsrv_prepare( $conn, $tsql);
if( $stmt === false )
{
echo "Error in statement preparation.\n";
die( print_r( sqlsrv_errors(), true));
}
if( sqlsrv_execute( $stmt ) === false)
{
echo "Error in statement execution.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Initialize tracking variables. */
$salesTotal = 0;
$count = 0;
/* Count and display the number of sales that produce revenue
of $100,000. */
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.\n";
/* Cancel the pending results. The statement can be reused. */
sqlsrv_cancel( $stmt);
?>
Comments
Příkaz, který je připraven a vykonán kombinací sqlsrv_prepare a sqlsrv_execute, lze po zavolání sqlsrv_cancel znovu vykonat pomocí sqlsrv_execute. Příkaz provedený pomocí sqlsrv_query nelze po zavolání sqlsrv_cancel znovu provést.