1.20.x database_test.test | DatabaseBasicSyntaxTestCase::testLikeBackslash() |
Test LIKE query containing a backslash.
File
- modules/
simpletest/ tests/ database_test.test, line 3122 - Database tests.
Class
- DatabaseBasicSyntaxTestCase
- Test how the current database driver interprets the SQL syntax.
Code
function testLikeBackslash() {
db_insert('test')
->fields(array('name'))
->values(array(
'name' => 'abcde\f',
))
->values(array(
'name' => 'abc%\_',
))
->execute();
// Match both rows using a LIKE expression with two wildcards and a verbatim
// backslash.
$num_matches = db_select('test', 't')
->condition('name', 'abc%\\\\_', 'LIKE')
->countQuery()
->execute()
->fetchField();
$this->assertIdentical($num_matches, '2', 'Found 2 records.');
// Match only the former using a LIKE expression with no wildcards.
$num_matches = db_select('test', 't')
->condition('name', db_like('abc%\_'), 'LIKE')
->countQuery()
->execute()
->fetchField();
$this->assertIdentical($num_matches, '1', 'Found 1 record.');
}