--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 ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $count++; } echo "
" . $row[0] . "" . $row[1] . "" . $row[2] . "" . $row[3] . "" . $row[4] . "" . $row[7] . "
"; /* 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 ""; echo ""; echo ""; echo ""; echo ""; echo ""; $count++; } echo "
" . $row[0] . "" . $row[1] . "" . $row[3] . "" . $row[4] . "" . $row[7] . "
"; echo "

Finished successfully"; ?> --EXPECT--

SELECT : Scrollable => SQLSRV_CURSOR_KEYSET

Printing first 3 rows

11970 Napa Ct.Bothell799AADCB0D-36CF-483F-84D8-585C2D4EC6E9
29833 Mt. Dias Blv.Bothell7932A54B9E-E034-4BFB-B573-A71CDE60D8C0
37484 Roundtree DriveBothell794C506923-6D1B-452C-A07C-BAA6F5B142A4

SQLSRV_CANCEL + Print next 5 rows of the result set (MUST BE EMPTY)

Finished successfully