php 怎样调用sqlserver的分页储存过程
孤独岛
孤独岛 2021-11-05 13:52:01
[PHP讨论组]

php用PDO 方式连接的sqlserver ,怎样调用带返回值的分页储存过程呢?

ALTER PROC [dbo].[sp_PageView]

@tbname     varchar(128),           --要分页显示的表名

@FieldKey   varchar(1000),   --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段

@PageCurrent int=1,           --要显示的页码

@PageSize   int=10,             --每页的大小(记录数)

@FieldShow varchar(1000)='',   --以逗号分隔的要显示的字段列表,如果不指定,则显示所有字段

@FieldOrder varchar(1000)='',   --以逗号分隔的排序字段列表,可以指定在字段后面指定DESC/ASC

-- 用于指定排序顺序

@Where    varchar(1000)='', --查询条件

@RecordCount   Int   Output,      --记录总数

@PageCount int OUTPUT         --总页数

以上是储存过程的参数设置

$stmt = $conn->prepare("EXEC $procName ?, ?, ?, ?, ?, ?, ?,?,?");$stmt->bindParam(1, $tablename, PDO::PARAM_STR );$stmt->bindParam(2, $FieldKey, PDO::PARAM_INT );$stmt->bindParam(3, $Pagecurrent, PDO::PARAM_INT );$stmt->bindParam(4, $Pagesize, PDO::PARAM_INT );$stmt->bindParam(5, $FieldShow, PDO::PARAM_STR );$stmt->bindParam(6, $FieldOrder, PDO::PARAM_STR );$stmt->bindParam(7, $Where, PDO::PARAM_STR );$stmt->bindParam(8, $recordcount, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 4);$stmt->bindParam(9, $PageCount, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 4);

$stmt->execute();

$row = $stmt->fetchAll(PDO::FETCH_ASSOC);echo json_encode($row,JSON_UNESCAPED_UNICODE);print "";

echo $PageCount;运行后,记录集有了最后的总页数显示为0 。

孤独岛
孤独岛

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号