--TEST--
cancels a statement then reuse.
--SKIPIF--
--FILE--
"$databaseName", "UID"=>"$uid", "PWD"=>"$pwd");
$conn = sqlsrv_connect( $server, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Prepare and execute the query. */
echo "
SELECT : Scrollable => SQLSRV_CURSOR_KEYSET
";
$sql = "SELECT * FROM Person.Address";
// $tsql = "SELECT * FROM HumanResources.Employee";
$params = array();
$options = array("Scrollable" => SQLSRV_CURSOR_KEYSET);
$options = array();
$stmt = sqlsrv_query($conn, $sql, $params, $options);
// sqlsrv_execute ( $stmt );
// $stmt = sqlsrv_query( $conn, $sql, array(), array() );
// PRINT RESULT SET
$numRowsPrint = 3;
echo "Printing first $numRowsPrint rows
";
echo "";
$count = 0;
// while( ($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC)) && $count <$numRowsPrint)
while( ($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_NUMERIC)) && $count <$numRowsPrint)
{
echo "";
echo "" . $row[0] . " | ";
echo "" . $row[1] . " | ";
echo "" . $row[2] . " | ";
echo "" . $row[3] . " | ";
echo "" . $row[4] . " | ";
echo "" . $row[7] . " | ";
echo "
";
$count++;
}
echo "
";
/* Cancel the pending results. The statement can be reused. */
sqlsrv_cancel( $stmt);
// PRINT RESULT SET
echo "SQLSRV_CANCEL + Print next 5 rows of the result set (MUST BE EMPTY)
";
echo "";
while( ($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_NUMERIC)) && $count <($numRowsPrint + 5))
{
echo "IF sqlsrv_cancel() is executed, YOU SHOUL NOT SEE THIS";
echo "
";
echo "" . $row[0] . " | ";
echo "" . $row[1] . " | ";
echo "" . $row[3] . " | ";
echo "" . $row[4] . " | ";
echo "" . $row[7] . " | ";
echo "
";
$count++;
}
echo "
";
echo "Finished successfully";
?>
--EXPECT--
SELECT : Scrollable => SQLSRV_CURSOR_KEYSET
Printing first 3 rows
1 | 1970 Napa Ct. | | Bothell | 79 | 9AADCB0D-36CF-483F-84D8-585C2D4EC6E9 |
2 | 9833 Mt. Dias Blv. | | Bothell | 79 | 32A54B9E-E034-4BFB-B573-A71CDE60D8C0 |
3 | 7484 Roundtree Drive | | Bothell | 79 | 4C506923-6D1B-452C-A07C-BAA6F5B142A4 |
SQLSRV_CANCEL + Print next 5 rows of the result set (MUST BE EMPTY)
Finished successfully