(沒有版本資訊,可能只在 Git 中)
sqlsrv_cancel — 取消陳述式
取消陳述式。與陳述式相關聯且尚未使用的任何結果都會被刪除。在呼叫 sqlsrv_cancel() 之後,如果指定的陳述式是使用 sqlsrv_prepare() 建立的,則可以重新執行。如果已使用與陳述式相關聯的所有結果,則不需要呼叫 sqlsrv_cancel()。
stmt
要取消的陳述式資源。
範例 #1 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 筆銷售額佔了首批 $$salesTotal 的營收。<br />";
// 取消待處理的結果。該陳述式可以重複使用。
sqlsrv_cancel( $stmt);
?>
sqlsrv_cancel() 和 sqlsrv_free_stmt() 的主要區別在於,使用 sqlsrv_cancel() 取消的陳述式資源如果使用 sqlsrv_prepare() 建立,則可以重新執行。使用 sqlsrv_free_statement() 取消的陳述式資源則無法重新執行。