我们在用到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}