db_like($string)
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.
You must use a query builder like db_select() in order to use db_like() on all supported database systems. Using db_like() with db_query() or db_query_range() is not supported.
For example, the following does a case-insensitive query for all rows whose name starts with $prefix:
1 2 3 4 5 | $result = db_select( 'person' , 'p' ) ->fields( 'p' ) ->condition( 'name' , db_like( $prefix ) . '%' , 'LIKE' ) ->execute() ->fetchAll(); |
Backslash is defined as escape character for LIKE patterns in DatabaseCondition::mapConditionOperator().
Parameters
string $string: The string to escape.
Return value
string The escaped string.
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 escapeLike() on it. For example, $injected_database->escapeLike($string);
See also
\Drupal\Core\Database\Connection::escapeLike()
Related topics
- Database abstraction layer
- Allow the use of different database servers using the same code base.
File
- core/includes/database.inc, line 422
- Core systems for the database layer.
Code
1 2 3 | function db_like( $string ) { return Database::getConnection()->escapeLike( $string ); } |
Please login to continue.