Bagikan melalui


sqlsrv_cancel

Unduh driver PHP

Membatalkan pernyataan. Ini berarti bahwa setiap hasil yang tertunda untuk pernyataan dibuang. Setelah fungsi ini dipanggil, pernyataan dapat dijalankan kembali jika disiapkan dengan sqlsrv_prepare. Memanggil fungsi ini tidak diperlukan jika semua hasil yang terkait dengan pernyataan telah digunakan.

Sintaks

  
sqlsrv_cancel( resource $stmt)  

Parameter

$stmt: Pernyataan yang akan dibatalkan.

Tampilkan Nilai

Nilai Boolean: true jika operasi berhasil. Jika tidak, salah.

Contoh

Contoh berikut menargetkan database AdventureWorks untuk menjalankan kueri, lalu menggunakan dan menghitung hasil hingga variabel $salesTotal mencapai jumlah yang ditentukan. Hasil kueri yang tersisa kemudian dibuang. Contoh mengasumsikan bahwa SQL Server dan database AdventureWorks diinstal di komputer lokal. Semua output ditulis ke konsol saat contoh dijalankan dari baris perintah.

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

Komentar

Pernyataan yang disiapkan dan dijalankan menggunakan kombinasi sqlsrv_prepare dan sqlsrv_execute dapat dijalankan kembali dengan sqlsrv_execute setelah memanggil sqlsrv_cancel. Pernyataan yang dijalankan dengan sqlsrv_query tidak dapat dijalankan kembali setelah memanggil sqlsrv_cancel.

Lihat Juga

Referensi API Driver SQLSRV

Menyambungkan ke Server

Mengambil Data

Tentang Contoh Kode dalam Dokumentasi

sqlsrv_free_stmt