function BasicSyntaxTest::testLikeBackslash in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/system/src/Tests/Database/BasicSyntaxTest.php \Drupal\system\Tests\Database\BasicSyntaxTest::testLikeBackslash()
Tests a LIKE query containing a backslash.
File
- core/
modules/ system/ src/ Tests/ Database/ BasicSyntaxTest.php, line 101 - Contains \Drupal\system\Tests\Database\BasicSyntaxTest.
Class
- BasicSyntaxTest
- Tests SQL syntax interpretation.
Namespace
Drupal\system\Tests\DatabaseCode
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.');
}