宁波网站建设咨询:宁波网站建设
13780026116 宁波网站制作
网站公告
PHP技术
技术交流
网络推广
网站建设常见问答
殷雯动态
你的位置:首页> 新闻/观点 > 技术交流>hinkPHP框架模糊查询’DB_LIKE_FIELDS’设置无效的bug
技术交流
hinkPHP框架模糊查询’DB_LIKE_FIELDS’设置无效的bug

hinkPHP框架模糊查询’DB_LIKE_FIELDS’设置无效的bug
 手册表达式查询like项提示:如果配置了DB_LIKE_FIELDS参数的话,某些字段也会自动进行模糊查询。设置以后无效,原因如下:
       Driver.class.php第526行
 $whereStr .= $this->parseWhereItem($this->parseKey($key),$val);//第526行
  parseWhereItem()方法的第一个参数进行了解析,$key被加了 ,也就是\"title\"变成了\"title\"(title为示例),导致第598行返回0
  if($likeFields && preg_match(\'/^(\'.$likeFields.\')$/i\',$key)) //第598行, 
 也就是preg_match(\'/^(title)$/i\',\'title\')==0
      解决办法,加 ,修改源码为:
  if($likeFields && preg_match(\'/^(\'.$likeFields.\')$/i\',$key))
 修改后再配置
 \'DB_LIKE_FIELDS\' OK.
 \'DB_LIKE_FIELDS\'=\'title\',
 $map[\'title\']=\'thinkphp\';
 $result=M(xxx)->where($map)->select();

 查询条件就不是 title=\'thinkphp\',而是 title like \'%thinkphp%\'.

这个上参数的配置,简单的来说就是把原本等于号起来的查询条件变成like模糊查询. 我个人感觉可有可无的设置


点击:  1668    时间: 2017-04-24
上一条: 行业趋势
下一条: sql中的select join一张图概括
 
 
快速通道: 关于我们    网站建设    主机域名    付款方式    我的声明
  
联系我们
手机扫描QQ
网站建设咨询:
咨询热线:
宁波殷雯网站建设工作室
地 址: 浙江省宁波市江东区
电 话: 13780026116 
邮 箱:
waichun@qq.com
宁波网站建设
宁波网站制作
13780026116
宁波殷雯网站建设工作室 版权所有   浙ICP备16030041号-1