function StatementPrefetch::getStatement

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Database/StatementPrefetch.php \Drupal\Core\Database\StatementPrefetch::getStatement()
  2. 10 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/modules/sqlite/src/Driver/Database/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 276

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);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.