Same name and namespace in other branches
  1. 8.9.x core/includes/database.inc \db_like()

Escapes characters that work as wildcard characters in a LIKE pattern.

The wildcard characters "%" and "_" as well as backslash are prefixed with a backslash. Use this to do a search for a verbatim string without any wildcard behavior.

For example, the following does a case-insensitive query for all rows whose name starts with $prefix:

$result = db_query('SELECT * FROM person WHERE name LIKE :pattern', array(
  ':pattern' => db_like($prefix) . '%',
));

Backslash is defined as escape character for LIKE patterns in DatabaseCondition::mapConditionOperator().

Parameters

$string: The string to escape.

Return value

The escaped string.

Related topics

13 calls to db_like()
comment_form_validate in modules/comment/comment.module
Validate comment form submissions.
DatabaseBasicSyntaxTestCase::testLikeBackslash in modules/simpletest/tests/database_test.test
Test LIKE query containing a backslash.
DatabaseBasicSyntaxTestCase::testLikeEscape in modules/simpletest/tests/database_test.test
Test escaping of LIKE wildcards.
DrupalWebTestCase::copySetupCache in modules/simpletest/drupal_web_test_case.php
Copy the setup cache from/to another table and files directory.
EntityFieldQuery::addCondition in includes/entity.inc
Adds a condition to an already built SelectQuery (internal function).

... See full list

File

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

Code

function db_like($string) {
  return Database::getConnection()
    ->escapeLike($string);
}