Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.