Same name and namespace in other branches
- 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).
File
- includes/
database/ database.inc, line 2730 - Core systems for the database layer.
Code
function db_like($string) {
return Database::getConnection()
->escapeLike($string);
}