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 字符串不匹配?