Drupal 寻呼机不适用于查询中的“LIKE”

Posted

技术标签:

【中文标题】Drupal 寻呼机不适用于查询中的“LIKE”【英文标题】:Drupal pager won't work with "LIKE" in the query 【发布时间】:2011-06-09 16:30:31 【问题描述】:

当使用带有LIKE 的查询时,我无法让它工作。示例:

$sql = " SELECT DISTINCT u.uid, u.name, u.status, u.created, u.access FROM d_bi_test_2_shared.users u LEFT JOIN d_bi_test_2.users_roles ur ON u.uid = ur.uid WHERE u.uid != 0 AND LOWER(u.name) LIKE LOWER('%%er%%') ";
$sqlCount = " SELECT COUNT(*) FROM d_bi_test_2_shared.users u LEFT JOIN d_bi_test_2.users_roles ur ON u.uid = ur.uid WHERE u.uid != 0 AND LOWER(u.name) LIKE LOWER('%%er%%') ";
$count = 3;
$query = pager_query($sql, 5, 0, $sqlCount);
$output.=theme('pager', $count);

这根本没有给我传呼机。如果我取出 LIKE 它可以工作,但我需要像这样搜索我的表单。

【问题讨论】:

您是否在 mysql 本身中运行查询,而没有通过 Drupal?当您这样做时,qeury 是否返回任何结果?看来你误解了 %;你可能只想要 1%,比如 (%er%) 去掉DISTINCT还能用吗? 【参考方案1】:

试试 CONCAT('%%',LOWER(er),'%%')

【讨论】:

以上是关于Drupal 寻呼机不适用于查询中的“LIKE”的主要内容,如果未能解决你的问题,请参考以下文章

寻呼机号码与 drupal 7 中的 URI 字符串不匹配?

为啥以下查询不适用于双 LIKE 子句?

在 Drupal 7 中更改寻呼机格式

Hg 寻呼机扩展不适用于“责备”

如何从 Drupal6 安装中取消设置 js 文件:不适用于我的模板文件中的“remove-scripts []”

2 寻呼机在视图中 - Drupal 6