function Connection::prefixTables

Same name in other branches
  1. 9 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::prefixTables()
  2. 8.9.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::prefixTables()
  3. 11.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::prefixTables()

Appends a database prefix to all tables in a query.

Queries sent to Drupal should wrap all table names in curly brackets. This function searches for this syntax and adds Drupal's table prefix to all tables, allowing Drupal to coexist with other systems in the same database and/or schema if necessary.

Parameters

string $sql: A string containing a partial or entire SQL query.

Return value

string The properly-prefixed string.

2 calls to Connection::prefixTables()
Connection::makeSequenceName in core/lib/Drupal/Core/Database/Connection.php
Creates the appropriate sequence name for a given table and serial field.
Connection::preprocessStatement in core/lib/Drupal/Core/Database/Connection.php
Returns a string SQL statement ready for preparation.

File

core/lib/Drupal/Core/Database/Connection.php, line 471

Class

Connection
Base Database API class.

Namespace

Drupal\Core\Database

Code

public function prefixTables($sql) {
    return str_replace([
        '{',
        '}',
    ], $this->tablePlaceholderReplacements, $sql);
}

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