ホームページ  >  に質問  >  本文

PHPでsqlserverのページングストアドプロシージャを呼び出す方法

php が PDO メソッドを使用して SQLserver に接続するときに、戻り値を使用してページング ストアド プロシージャを呼び出すにはどうすればよいですか?

ALTER PROC [dbo].[sp_PageView]

@tbname varchar(128), -- ページに表示されるテーブルの名前

@FieldKey varchar( 1000), - - レコードを配置するためのメイン キー (一意) フィールドは、カンマで区切られた複数のフィールドにすることができます

#@PageCurrent Int = 1, - 表示されるページ番号

@PageSize int = 10 10 , -各ページのサイズ (レコード番号)

@Fieldshow varchar (1000) = '', -カンマで囲まれた表示するフィールドのリスト (指定しない場合は、すべてのフィールドを表示します)

@FieldOrder varchar(1000)='', --並べ替えフィールドのカンマ区切りのリスト。フィールドの後に DESC/ASC を指定できます

--並べ替えの指定に使用されますorder

@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 として表示されます。

孤独岛孤独岛1037日前670

全員に返信(2)返信します

応答なし
  • キャンセル返事