web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. AIGC工具
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站
    手机应用

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

476 ℃

{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"}

 

<li>
       <a href='[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]' title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,40,0)/]</a>     
      </li>

</a>
{/dede:likesql}

mysql语法怎么查询以某个字符开头的数据

mysql基本语法之like查询介绍

标签: like

上面是“DEDEcms {dede:sql} LIKE模糊查询问题 多出'号”的全面内容,想了解更多关于 织梦cms 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_556.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > 织梦cms
本文共计1065个字,预计阅读时长8分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费在线图片处理工具——佐糖图片平台
下一篇: 推荐一款优设网免费可商用字体——优设标题黑体
x 打工人ai神器