dedecms, like, 模糊, 模糊查询, 查询
织梦模板建站程序DEDEcms{dede:sql}LIKE模糊查询问题多出'号。 {dede:sql}很好用今天我用他来帮客户做模糊调用数据功能。 但是发现有问题直接使用的话。 回提示sql错误。 看了下sql错误,{dede:sqlsql="select*fromdede_archiveswheretitlelike'%~title~%'"}编译的结果是select*fromdede_archiveswheretitlelike'%'$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:likesqlsql="SELECT*FROMdede_archivesWHEREkeywordsLIKE'%~title~%'orderbyclickdesclimit10"} |
DEDE启用多站点绝对网址导致RSS出错解决办法