我们在用到dede:sql这个标签时候,查询语句中 LIKE '%~title~%',~title~这个like后会出现单引号,造成查询出错或者没有结果,下面就需要修改一下sql.lib.php这个文件,我们需要把自动为语句添加单引号去掉。
打开/include/taglib/sql.lib.php文件
找到
$sql = str_replace($conditions[0][$key],“‘’” addslashes($refObj->Fields[$value])“‘’”, $sql);
改成
$sql = str_replace($conditions[0][$key], addslashes($refObj->Fields[$value]), $sql);
dede:sql标签
{dede:sql 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:sql}