2017-02-09 22:27:48 +01:00
|
|
|
--TEST--
|
|
|
|
sqlsrv_fetch() with SQLSRV_SCROLL_ABSOLUTE using out of range offset
|
|
|
|
--SKIPIF--
|
2017-11-08 00:31:55 +01:00
|
|
|
<?php require('skipif_versions_old.inc'); ?>
|
2017-02-09 22:27:48 +01:00
|
|
|
--FILE--
|
|
|
|
<?php
|
2017-11-08 00:31:55 +01:00
|
|
|
require_once('MsCommon.inc');
|
2017-02-09 22:27:48 +01:00
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
// connect
|
|
|
|
$conn = AE\connect();
|
2017-02-09 22:27:48 +01:00
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
// Prepare the statement
|
2019-01-08 00:36:59 +01:00
|
|
|
$sql = "SELECT * FROM sys.objects";
|
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
$stmt = sqlsrv_prepare($conn, $sql, array(), array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED));
|
|
|
|
if ($stmt === false) {
|
|
|
|
printErrors();
|
|
|
|
}
|
|
|
|
sqlsrv_execute($stmt);
|
2017-02-09 22:27:48 +01:00
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
// Get row count
|
|
|
|
$row_count = sqlsrv_num_rows($stmt);
|
|
|
|
if ($row_count == 0) {
|
|
|
|
printErrors("There should be at least one row!\n");
|
|
|
|
}
|
2017-02-09 22:27:48 +01:00
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
sqlsrv_execute($stmt);
|
|
|
|
$row = sqlsrv_fetch($stmt, SQLSRV_SCROLL_FIRST);
|
|
|
|
$field = sqlsrv_get_field($stmt, 0);
|
|
|
|
if (! $field) {
|
|
|
|
printErrors();
|
|
|
|
}
|
2017-02-09 22:27:48 +01:00
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
$row = sqlsrv_fetch($stmt, SQLSRV_SCROLL_LAST);
|
|
|
|
$field = sqlsrv_get_field($stmt, 0);
|
|
|
|
if (! $field) {
|
|
|
|
printErrors();
|
|
|
|
}
|
2017-02-09 22:27:48 +01:00
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
// this should return false
|
|
|
|
$row = sqlsrv_fetch($stmt, SQLSRV_SCROLL_ABSOLUTE, $row_count);
|
|
|
|
if ($row) {
|
|
|
|
printErrors("This should return false!");
|
|
|
|
}
|
|
|
|
$field = sqlsrv_get_field($stmt, 0);
|
|
|
|
if ($field !== false) {
|
|
|
|
printErrors("This should have resulted in error!");
|
2017-02-09 22:27:48 +01:00
|
|
|
}
|
|
|
|
|
2017-11-08 00:31:55 +01:00
|
|
|
sqlsrv_free_stmt($stmt);
|
|
|
|
sqlsrv_close($conn);
|
2017-02-09 22:27:48 +01:00
|
|
|
|
|
|
|
print "Done";
|
|
|
|
?>
|
|
|
|
|
|
|
|
--EXPECT--
|
|
|
|
Done
|