我用站点提供的工具得到的get标签:
{get sql="SELECT `catid`,`title`,`thumb`,`description`,`url`,`updatetime` FROM `phpcms_content` WHERE `catid` = ‘$catid’ ORDER BY `updatetime` DESC" rows="6" page="$page" }
{$r[catid]}
{$r[title]}
{$r[thumb]}
{$r[description]}
{$r[url]}
{$r[updatetime]}
{/get}
{$pages}
生成后分页部分出现sql错误
后来自己写了个标签的开头部分:
{get sql="SELECT contentid,catid,title,style,thumb,keywords,description,userid,updatetime,islink,inputtime,url FROM `phpcms_content` WHERE status=99 AND `catid` IN(31,32) ORDER BY contentid DESC" rows="6" page="$page"catid="$catid"}
生成后分页正常.不知道为什么……
phpcms get标签分页为什么会报SQL错误?
常见原因是标签生成的 SQL 与分页参数组合不兼容,尤其是 page 参数参与后,查询条件或标签属性没有正确对齐,导致分页解析异常。排查时应先确认 SQL 本身可执行,再检查 page、rows 以及额外参数是否冲突。
get标签分页正常需要注意哪些参数?
重点看 rows、page 以及 SQL 条件是否一致。分页标签不仅要能查出数据,还要让分页组件正确识别总数和当前页。若自动生成的标签报错,可尝试手写标签开头,补齐必要参数后再测试。
手写phpcms标签开头能解决什么问题?
手写标签开头的好处是能主动控制 SQL 和分页参数,避免工具自动生成时带入不合适的条件。本文案例里,改成手写后分页恢复正常,说明问题多半出在自动生成标签的参数组织方式上。







发表回复