You are here

public function Connection::queryRange in Drupal driver for SQL Server and SQL Azure 3.0.x

Same name and namespace in other branches
  1. 8.2 drivers/lib/Drupal/Driver/Database/sqlsrv/Connection.php \Drupal\Driver\Database\sqlsrv\Connection::queryRange()
  2. 8 drivers/lib/Drupal/Driver/Database/sqlsrv/Connection.php \Drupal\Driver\Database\sqlsrv\Connection::queryRange()

Runs a limited-range query on this database object.

Use this as a substitute for ->query() when a subset of the query is to be returned. User-supplied arguments to the query should be passed in as separate parameters so that they can be properly escaped to avoid SQL injection attacks.

Parameters

string $query: A string containing an SQL query.

int $from: The first result row to return.

int $count: The maximum number of result rows to return.

array $args: (optional) An array of values to substitute into the query at placeholder markers.

array $options: (optional) An array of options on the query.

Return value

\Drupal\Core\Database\StatementInterface A database query result resource, or NULL if the query was not executed correctly.

Overrides Connection::queryRange

File

drivers/lib/Drupal/Driver/Database/sqlsrv/Connection.php, line 175

Class

Connection
Sqlsvr implementation of \Drupal\Core\Database\Connection.

Namespace

Drupal\Driver\Database\sqlsrv

Code

public function queryRange($query, $from, $count, array $args = [], array $options = []) {
  if (strpos($query, " ORDER BY ") === FALSE) {
    $query .= " ORDER BY (SELECT NULL)";
  }
  $query .= " OFFSET {$from} ROWS FETCH NEXT {$count} ROWS ONLY";
  return $this
    ->query($query, $args, $options);
}