如何在drupal中使用类似的查询

Bha*_*mar 8 sql drupal drupal-6

如何在drupal中编写SQL LIKE查询,

SELECT title FROM { node } WHERE type='%s'
Run Code Online (Sandbox Code Playgroud)

我想在这里添加喜欢的条件

SELECT title FROM { node } WHERE type='%s' AND LIKE '%S%'
Run Code Online (Sandbox Code Playgroud)

我认为我写错了像查询formnat,可以重写并告诉我,

Kev*_*vin 12

只需使用%即可逃脱.

$result = db_query('SELECT title FROM {node} WHERE type = "%s" AND title LIKE "%%%s%%"', 'type', 'title');

while ($row = db_fetch_object($result)) {
     // do stuff with the data
}
Run Code Online (Sandbox Code Playgroud)

节点类型不需要转义.


Fel*_*Eve 5

这是一个如何在动态查询中使用LIKE的示例(仅限Drupal 7):

$query = db_select('node', 'n')
        ->fields('n', array('title'))
        ->condition('type', 'my_type')
        ->condition('title', '%' . db_like(search_string) . '%', 'LIKE');
    $result = $query->execute()->fetchCol();
Run Code Online (Sandbox Code Playgroud)

db_like() 用于在LIKE模式中转义用作通配符的字符。