如何合并这两句like查询

$conone['staff_departmentid']=array('like',"%".$one."%");
$conone['staff_departmentid']=array('notlike',"%".$two."%");

阅读 2.8k
1 个回答

题主,你只定义了问题的标签是mysql,但我看问题的代码再加上题主问过的几个问题,这个应该thinkphp的查询代码吧?
如果我猜测的没错,题主,你应该看看thinkphp的文档惹……
那,我这里引用下文档里的相关内容:

区间查询的条件可以支持普通查询的所有表达式,也就是说类似LIKE、GT和EXP这样的表达式都可以支持。另外区间查询还可以支持更多的条件,只要是针对一个字段的条件都可以写到一起,例如:

$map['name']  = array(array('like','%a%'), array('like','%b%'), array('like','%c%'), 'ThinkPHP','or'); 

最后的查询条件是:

(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'ThinkPHP')

所以你要的应该是这样的:

$conone['staff_departmentid']=array(array('like',"%".$one."%"),array('notlike',"%".$two."%"), 'and');

PS:题主,前面几个问答,都没有反馈呀,不知道是没看到了还是咋的?还是希望题主有所反馈的 :)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题