PHPcms v9 get标签sql 语句limit无效问题的解决方法

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="4" return="v"}

可以加入start 和 num 来控制。

  2.(比较绝的方法)

{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc limit 0,4--" return="v"}

  注意4后面的两个减号,把v9自带的LIMIT 0,20语句给注释了!

原文地址:https://www.cnblogs.com/mracale/p/9122522.html

时间: 2024-07-30 15:21:13

PHPcms v9 get标签sql 语句limit无效问题的解决方法的相关文章

Sql语句不能识别Go的解决办法(动态创建表的触发器)

问题来源 用sqlserver直接打开sql文本,执行没问题,但是当用Sqlcommand类执行cmdtext命令文本时总是失败报错. 原因分析及解决 用数据库直接执行sql语句没问题,甚至还可以用Go来进行分批处理,但是当你用链接类访问数据库,并执行sql语句时就有些限制,如下: System.Data.SqlClient.SqlCommand cmd; try { using (System.Data.SqlClient.SqlConnection newconn = new System.

获取oracle sql语句中绑定变量值的方法

在诊断 sql的性能问题时,我们有时候需要获取其绑定变量的实际值,然后将此实际值带入到sql语句当中,用原来的sql构成select语句(带where条件),实际的执行一下,看一下选择性如何. 本文就是说获取其绑定变量值的方法.本文的编写得到枯荣长老的帮助,在此表示感谢. 本文适用于与oracle 10G或者更高版本的db. alter session set nls_date_format = 'yyyy-mm-dd,hh24:mi:ss'; set linesize 400 col sql_

SQL 查看SQL语句的执行时间 直接有效的方法

原文:SQL 查看SQL语句的执行时间 直接有效的方法 在MSSQL Server中通过查看SQL语句执行所用的时间,来衡量SQL语句的性能. 通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数.逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘

SQL Server2005索引碎片分析和解决方法

SQL Server2005索引碎片分析和解决方法 本文作者(郑贤娴),请您在阅读本文时尊重作者版权. 摘要: SQL Server,为了反应数据的更新,需要维护表上的索引,因而这些索引会形成碎片.根据工作量的特征,这些碎片会影响对应的工作性能.此文帮助决定是否需要整理碎片以改善性能的信息.SQL Serve提供一些命令来实现索引的碎片整理.这里比较其中两个命令:DBCC DBREINDEX 和 DBCC INDEXDEFRAG. 关键词: SQL Server;索引碎片;数据库优化毫无疑问,给

转换到 COFF 期间失败: 文件无效或损坏 解决方法

转自csdn 终极解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次.在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:第一步:与上相同.第二步:将 项目|项目属性|配置属性|连接器|清单文件|嵌入

【原】新装SQL Server 2014 遇到问题的解决方法。

[尝试读取或写入受保护的内存.这通常指示其他内存已损坏. (System.Data)] 管理员身份运行 cmd -> 输入 netsh winsock reset 提问者评价 曾经让我重装系统的bug,一句话就就解决了,谢谢你~ 评论 | 2 [原]新装SQL Server 2014 遇到问题的解决方法.

SQL语句Limit深入

一.基本 SQL的limit语法的如以下形式 SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset 当省略offset的时候,offset作为0处理,表示提取查询到的前rows条数据: 当offset>=0时候,表示提取查询到的从offset开始的rows条数据:此时如果rows<0表示提取查询到的从offset开始的所有数据 当offset<0的时候,表示提取查询到的除出后rows条数据的所有数据,即剔除last

(转载)PHPCMS V9专题路径多了一个斜杠的解决办法

PHPCMSV9的专题,在设置生成静态并且网站的静态设置成生成在根目录的时候,专题路径的URL中会多出一个斜杠,如:http://www.2cto.com//special/ddos/ ,我只能说这是PHPCMS V9众多诡异的BUG中的一个.在PC论坛多个会员多次提起,但未见官方修复.今天花了大把的时间,最终找到问题所在并解决. 解决办法: 1 修改phpcms/modules/special/special.php 文件第43行: $url = $special['ishtml'] ? AP

sql语句_ 的三种去重方法

本文将介绍用 distict.group by 和 row_number() over . 注:这里的去重是指:查询的时候, 不显示重复,并不是删除表中的重复项,关系删除表中重复数据的sql 请参考一下链接: https://www.cnblogs.com/171207xiaohutu/p/11520763.html 1. distinct 表userinfo 数据如下: id    name    age  height    10 xiaogang 23 181 11 xiaoli 31 1