8.5.x database.inc db_update($table, array $options = [])
8.0.x database.inc db_update($table, array $options = array())
8.1.x database.inc db_update($table, array $options = array())
8.2.x database.inc db_update($table, array $options = array())
8.3.x database.inc db_update($table, array $options = [])
8.4.x database.inc db_update($table, array $options = [])
8.6.x database.inc db_update($table, array $options = [])
7.x database.inc db_update($table, array $options = array())

Returns a new UpdateQuery object for the active database.

Parameters

string $table: The table to update.

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

Return value

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

Deprecated

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 update() on it. For example, $injected_database->update($table, $options);

See also

\Drupal\Core\Database\Connection::update()

\Drupal\Core\Database\Connection::defaultOptions()

Related topics

1 call to db_update()
LocaleUpdateCronTest::testUpdateCron in core/modules/locale/src/Tests/LocaleUpdateCronTest.php
Tests interface translation update using cron.

File

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

Code

function db_update($table, array $options = array()) {
  if (empty($options['target']) || $options['target'] == 'replica') {
    $options['target'] = 'default';
  }
  return Database::getConnection($options['target'])
    ->update($table, $options);
}

Comments

sagesolutions’s picture

For example, if you want to update a table called 'node__field_graduate_title' and remove the html:

$connection = \Drupal\Core\Database\Database::getConnection();

	$results = $connection->query('select bundle, entity_id, revision_id, field_graduate_title_value from node__field_graduate_title;')->fetchAll();

	if ($results) {    
		foreach ($results as $record) {

			$graduate_title = strip_tags($record->field_graduate_title_value);
			$connection->update('node__field_graduate_title')
				->fields(array(
					'field_graduate_title_value' => $graduate_title,
					))
				->condition('bundle', $record->bundle, '=')
				->condition('revision_id', $record->revision_id, '=')
				->condition('entity_id', $record->entity_id, '=')
				->execute();  
		}  
	}
Dinesh18’s picture

Thanks for the non-deprecated example. It worked for me