织梦dedecms {dede:sql} LIKE模糊查询问题 多出'号

织梦dedecms {dede:sql} LIKE模糊查询问题 多出'号,第1张

概述织梦DEDEcms {dede:sql} LIKE模糊查询问题 多出号 。 {dede:sql} 很好用 今天我用他来帮客户做模糊调用数据功能。但是发现有问题 直接使用的话。 回提示sql错误。看了下sql 错误, {dede:sql sql=select * from dede_archives where title like %~title~%} 编 织梦dedecms  {dede:sql} liKE模糊查询问题 多出'号 。 

{dede:sql} 很好用 今天我用他来帮客户做模糊调用数据功能。但是发现有问题 直接使用的话。 

回提示sql错误。看了下sql 错误, 
{dede:sql sql="select * from dede_archives where Title like '%~Title~%'"} 
编译的结果是select * from dede_archives where Title like '%'$Title'% 造成SQL语句错误。 
  
多出来了' 号。看了半天。 

这里表情也不能用连接符来搞。 

所以肯定是表情的问题 
  
后来发现是SQL语句的规则问题,所以就要修改{sql.lib.PHP} 的标签。 
         首先,最好是重新建一个标签,我起的标签名是{likesql.lib.PHP}; 
         然后把{sql.lib.PHP}中的内容全部复制到{likesql.lib.PHP}中。(记住要修改标签名和方法名不然标签运行出错) 
        下面就需要修改一下{likesql.lib.PHP}的代码了,我们需要把自动为语句添加单引号去掉。 
要修改的代码: $sql = str_replace($conditions[0][$key],“‘’” addslashes($refObj->FIElds[$value])“‘’”,$sql); 
修改后:$sql = str_replace($conditions[0][$key],addslashes($refObj->FIElds[$value]),$sql); 
只需把引号去掉就ok 了! 
  
  
最后使用的表情。下面是可以直接转成HTML的 dede:sql标签 
{dede:likesql  sql="SELECT * FROM dede_archives WHERE keywords liKE '%~Title~%' order by  click desc limit 10"} 总结

以上是内存溢出为你收集整理的织梦dedecms {dede:sql} LIKE模糊查询问题 多出'号全部内容,希望文章能够帮你解决织梦dedecms {dede:sql} LIKE模糊查询问题 多出'号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1058065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存