DEDEcms {dede:sql} LIKE模糊查詢問題 多出'號,織夢教程
導讀:織夢教程織夢教程{dede:sql} 很好用 今天我用他來幫客戶做模糊調用數據功能。但是發現有問題 直接使用的話。回提示sql錯誤。看了下sql 錯誤, {dede:sql s織夢模板安裝織夢模板。
{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> &nbs織夢模板免費p; </li>
</a> {/dede:likesql}
相關織夢模板安裝織夢模板。聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-19 ,文章DEDEcms {dede:sql} LIKE模糊查詢問題 多出'號,織夢教程主要講述多出,模糊,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_30950.html