function db_query

7.x db_query($query, array $args = array(), array $options = array())

Executes an arbitrary query string against the active database.

Use this function for SELECT queries if it is just a simple query string. If the caller or other modules need to change the query, use db_select() instead.

Do not use this function for INSERT, UPDATE, or DELETE queries. Those should be handled via db_insert(), db_update() and db_delete() respectively.


$query: The prepared statement query to run. Although it will accept both named and unnamed placeholders, named placeholders are strongly preferred as they are more self-documenting.

$args: An array of values to substitute into the query. If the query uses named placeholders, this is an associative array in any order. If the query uses unnamed placeholders (?), this is an indexed array and the order must match the order of placeholders in the query string.

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

Return value

DatabaseStatementInterface A prepared statement object, already executed.

See also


Related topics

444 calls to db_query()
ActionLoopTestCase::triggerActions in drupal/modules/simpletest/tests/actions.test
Create an infinite loop by causing a watchdog message to be set, which causes the actions to be triggered again, up to actions_max_stack times.
ActionsConfigurationTestCase::testActionConfiguration in drupal/modules/simpletest/tests/actions.test
Test the configuration of advanced actions through the administration interface.
actions_do in drupal/includes/
Performs a given list of actions by executing their callback functions.
actions_function_lookup in drupal/includes/
Returns an action array key (function or ID), given its hash.
actions_get_all_actions in drupal/includes/
Retrieves all action instances from the database.

... See full list

3 string references to 'db_query'
DatabaseLoggingTestCase::testEnableLogging in drupal/modules/simpletest/tests/database_test.test
Test that we can log the existence of a query.
drupal_get_filename in drupal/includes/
Returns and optionally sets the filename for a system resource.
_drupal_decode_exception in drupal/includes/
Decodes an exception and retrieves the correct caller.


drupal/includes/database/, line 2342
Core systems for the database layer.


function db_query($query, array $args = array(), array $options = array()) {
  if (empty($options['target'])) {
    $options['target'] = 'default';

  return Database::getConnection($options['target'])->query($query, $args, $options);