function StatementPrefetchIterator::getStatement

Same name and namespace in other branches
  1. 10 core/lib/Drupal/Core/Database/StatementPrefetchIterator.php \Drupal\Core\Database\StatementPrefetchIterator::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

object A PDOStatement object.

1 call to StatementPrefetchIterator::getStatement()
StatementPrefetchIterator::execute in core/lib/Drupal/Core/Database/StatementPrefetchIterator.php
Executes a prepared statement.
1 method overrides StatementPrefetchIterator::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/StatementPrefetchIterator.php, line 178

Class

StatementPrefetchIterator
An implementation of StatementInterface that prefetches all data.

Namespace

Drupal\Core\Database

Code

protected function getStatement(string $query, ?array &$args = []) : object {
    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.