sqlsrv_cancel

PHP sürücüsünü indirme

Bir açıklamayı iptal ediyor. Bu, beyanname için bekleyen tüm sonuçların atıldığı anlamına gelir. Bu fonksiyon çağrıldıktan sonra, ifade sqlsrv_prepare ile hazırlanmışsa yeniden çalıştırılabilir. Bu fonksiyonun çağrılması, ifadeyle ilişkili tüm sonuçlar tüketildiyse gerekli değildir.

Syntax

  
sqlsrv_cancel( resource $stmt)  

Parametreler

$stmt: İptal edilecek açıklama.

Dönüş Değeri

Bir Boolean değeri: işlem başarılı olursa doğrudur . Aksi takdirde, yanlış.

Example

Aşağıdaki örnek, AdventureWorks veritabanını bir sorgu yürütmek için hedefliyor, ardından değişken $salesTotal belirli bir miktara ulaşana kadar sonuçları tüketir ve sayar. Kalan sorgu sonuçları ise atılır. Örnek, SQL Server ve AdventureWorks veritabanının yerel bilgisayara yüklendiğini varsayar. Örnek komut satırından çalıştırıldığında tüm çıkış konsola yazılır.

<?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

sqlsrv_prepare ve sqlsrv_execute kombinasyonuyla hazırlanıp yürütülen bir açıklama, sqlsrv_cancel çağrıldıktan sonra sqlsrv_execute ile yeniden çalıştırılabilir. sqlsrv_query ile yapılan bir ifade, sqlsrv_cancel çağrıldıktan sonra yeniden çalıştırılamaz.