phpcms使用get标签sql语句limit无效
PHPCMS V9的get标签非常好用,只要做几个自定义模型get几乎变成万能的了。但是PHPCMS升级到V9后,把2008的很多功能都去掉了,比如get标签中,在后面自动添加了一个LIMIT 0,20,这样你即使写了num=’数字’也没用,写在SQL语句里面,例如
{pc:get sql="SELECT * FROM v9_news ORDER BY id DESC LIMIT 2,5" cache="3600" page="$page" dbsource="discuz" return="data"}
就会报错,打印出来的SQL语句是:
SELECT * FROM v9_news ORDER BY id DESC LIMIT 2,5 LIMIT 0,20
这样很明显是错误的。在论坛上发现了2个方法
1.最常用
{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc" start="0" num="5"}
可以加入start 和 num 来控制。如果不写start,则默认从0条开始。
2.注释法
{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc limit 0,5--"}
注意5后面的两个减号,把v9自带的LIMIT 0,20语句给注释了!
但是该语句用在有分页的列表中可能会出错,所以建议大家尽量用第一种方法。
版权声明:本文为李维亮博主的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:http://www.liweiliang.com/456.html
- 上一篇: PHPCMS全站搜索重建索引失败
- 下一篇: fsockopen函数被禁用的解决方案
评论已关闭