You are here

protected function StatementPrefetch::getStatement in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Database/StatementPrefetch.php \Drupal\Core\Database\StatementPrefetch::getStatement()

Grab a PDOStatement object from a given query and its arguments.

Some drivers (including SQLite) will need to perform some preparation themselves to get the statement right.

Parameters

$query: The query.

array|null $args: An array of arguments. This can be NULL.

Return value

\PDOStatement A PDOStatement object.

1 call to StatementPrefetch::getStatement()
StatementPrefetch::execute in core/lib/Drupal/Core/Database/StatementPrefetch.php
Executes a prepared statement.
1 method overrides StatementPrefetch::getStatement()
Statement::getStatement in core/lib/Drupal/Core/Database/Driver/sqlite/Statement.php
The PDO SQLite layer doesn't replace numeric placeholders in queries correctly, and this makes numeric expressions (such as COUNT(*) >= :count) fail. We replace numeric placeholders in the query ourselves to work around this bug.

File

core/lib/Drupal/Core/Database/StatementPrefetch.php, line 275

Class

StatementPrefetch
An implementation of StatementInterface that prefetches all data.

Namespace

Drupal\Core\Database

Code

protected function getStatement($query, &$args = []) {
  return $this->connection
    ->prepare($query, $this->driverOptions);
}