7.x query.inc public QueryConditionInterface::condition($field, $value = NULL, $operator = NULL)

Helper function: builds the most common conditional clauses.

This method can take a variable number of parameters. If called with two parameters, they are taken as $field and $value with $operator having a value of IN if $value is an array and = otherwise.

Do not use this method to test for NULL values. Instead, use QueryConditionInterface::isNull() or QueryConditionInterface::isNotNull().


$field: The name of the field to check. If you would like to add a more complex condition involving operators or functions, use where().

$value: The value to test the field against. In most cases, this is a scalar. For more complex options, it is an array. The meaning of each element in the array is dependent on the $operator.

$operator: The comparison operator, such as =, <, or >=. It also accepts more complex options such as IN, LIKE, or BETWEEN. Defaults to IN if $value is an array, and = otherwise.

Return value

QueryConditionInterface The called object.

See also



6 methods override QueryConditionInterface::condition()
DatabaseCondition::condition in includes/database/query.inc
Implements QueryConditionInterface::condition().
DeleteQuery::condition in includes/database/query.inc
Implements QueryConditionInterface::condition().
MergeQuery::condition in includes/database/query.inc
Implements QueryConditionInterface::condition().
SelectQuery::condition in includes/database/select.inc
Helper function: builds the most common conditional clauses.
SelectQueryExtender::condition in includes/database/select.inc
Helper function: builds the most common conditional clauses.

... See full list


includes/database/query.inc, line 46
Non-specific Database query code. Used by all engines.


Interface for a conditional clause in a query.


public function condition($field, $value = NULL, $operator = NULL);


If we want make something like this

		$num_updated= db_update('field_data_field_exemple') 
					  ->condition('bundle','exemple1', '=')
->condition('bundle','exemple2', '=')

is it possible ?

It is possible:

$query = db_select("node","n");
$or_statement = db_or()->condition("created","1360254471",">=")->condition("n.status","1");
$result = $query->condition($or_statement)->execute();

The db_or() creates an database interface "OR" object that you can add as many conditions to as possible. Then you just add that as a condition to the original query. So this query would select any nodes created after Feb 7, 2013 OR any that are published.