/Drupal 8

function db_select

db_select($table, $alias = NULL, array $options = array())

Returns a new SelectQuery object for the active database.


string|\Drupal\Core\Database\Query\SelectInterface $table: The base table for this query. May be a string or another SelectInterface object. If a SelectInterface object is passed, it will be used as a subselect.

string $alias: (optional) The alias for the base table of this query.

array $options: (optional) An array of options to control how the query operates.

Return value

\Drupal\Core\Database\Query\Select A new Select object for this connection.


as of Drupal 8.0.x, will be removed in Drupal 9.0.0. Instead, get a database connection injected into your service from the container and call select() on it. For example, $injected_database->select($table, $alias, $options);

See also



Related topics

Database abstraction layer
Allow the use of different database servers using the same code base.


core/includes/database.inc, line 291
Core systems for the database layer.


function db_select($table, $alias = NULL, array $options = array()) {
  if (empty($options['target'])) {
    $options['target'] = 'default';
  return Database::getConnection($options['target'])->select($table, $alias, $options);

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.