php用PDO 方式連接的sqlserver ,怎樣調(diào)用帶返回值的分頁儲存過程呢?
ALTER PROC [dbo].[sp_PageView]
@tbname ? ? varchar(128), ? ? ? ? ? --要分頁顯示的表名
@FieldKey ? varchar(1000), ? --用于定位記錄的主鍵(惟一鍵)字段,可以是逗號分隔的多個字段
@PageCurrent int=1, ? ? ? ? ? --要顯示的頁碼
@PageSize ? int=10, ? ? ? ? ? ? --每頁的大小(記錄數(shù))
@FieldShow varchar(1000)='', ? --以逗號分隔的要顯示的字段列表,如果不指定,則顯示所有字段
@FieldOrder varchar(1000)='', ? --以逗號分隔的排序字段列表,可以指定在字段后面指定DESC/ASC
-- 用于指定排序順序
@Where ? ?varchar(1000)='', --查詢條件
@RecordCount ? Int ? Output, ? ? ?--記錄總數(shù)
@PageCount int OUTPUT ? ? ? ? --總頁數(shù)
以上是儲存過程的參數(shù)設(shè)置
$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;運行后,記錄集有了最后的總頁數(shù)顯示為0 。