db_prefix_tables

  1. drupal
    1. 4.7 database.inc
    2. 5 database.inc
    3. 6
Versions
4.7 – 6 db_prefix_tables($sql)

Append 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 if necessary.

Parameters

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

Return value

The properly-prefixed string.

Related topics

▾ 8 functions call db_prefix_tables()

db_query in drupal/includes/database.pgsql.inc
Runs a basic query in the active database.
db_query in drupal/includes/database.mysql-common.inc
Runs a basic query in the active database.
db_query_range in drupal/includes/database.mysql.inc
Runs a limited-range query in the active database.
db_query_range in drupal/includes/database.pgsql.inc
Runs a limited-range query in the active database.
db_query_range in drupal/includes/database.mysqli.inc
Runs a limited-range query in the active database.
db_query_temporary in drupal/includes/database.pgsql.inc
Runs a SELECT query and stores its results in a temporary table.
db_query_temporary in drupal/includes/database.mysqli.inc
Runs a SELECT query and stores its results in a temporary table.
db_query_temporary in drupal/includes/database.mysql.inc
Runs a SELECT query and stores its results in a temporary table.

Code

drupal/includes/database.inc, line 82

<?php
function db_prefix_tables($sql) {
  global $db_prefix;

  if (is_array($db_prefix)) {
    if (array_key_exists('default', $db_prefix)) {
      $tmp = $db_prefix;
      unset($tmp['default']);
      foreach ($tmp as $key => $val) {
        $sql = strtr($sql, array('{' . $key . '}' => $val . $key));
      }
      return strtr($sql, array('{' => $db_prefix['default'], '}' => ''));
    }
    else {
      foreach ($db_prefix as $key => $val) {
        $sql = strtr($sql, array('{' . $key . '}' => $val . $key));
      }
      return strtr($sql, array('{' => '', '}' => ''));
    }
  }
  else {
    return strtr($sql, array('{' => $db_prefix, '}' => ''));
  }
}
?>