suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So rufen Sie die gespeicherte Paging-Prozedur von SQL Server in PHP auf

Wie rufe ich die gespeicherte Paging-Prozedur mit Rückgabewert auf, wenn PHP mithilfe der PDO-Methode eine Verbindung zum SQL Server herstellt?

ALTER PROC [dbo].[sp_PageView]

@tbname varchar(128),  --Der Name der Tabelle, die in Seiten angezeigt werden soll

@FieldKey varchar(1000),  --Der Primärschlüssel (eindeutiger Schlüssel) Feld zum Auffinden von Datensätzen, kann aus mehreren, durch Kommas getrennten Feldern bestehen

@PageCurrent int=1,         – Die anzuzeigende Seitenzahl

@PageSize   int=10,                     – Die Größe jeder Seite (Anzahl der Datensätze)

@FieldShow varchar(1000)= '', --Komma-getrennte Liste der anzuzeigenden Felder, wenn nicht angegeben, werden alle Felder angezeigt

@FieldOrder varchar(1000)='', --Komma-getrennte Liste von sortierten Feldern, die nach dem Feld Specify DESC/ASC angegeben werden können

-- Wird verwendet, um die Sortierreihenfolge anzugeben

@Where varchar(1000)='', --Abfragebedingungen

@RecordCount Int Output, -- Gesamtzahl der Datensätze

@PageCount int OUTPUT --Total page Das Obige sind die Parametereinstellungen der gespeicherten Prozedur

$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;Nach der Ausführung wird die endgültige Gesamtzahl der Seiten im Datensatz als angezeigt 0.

孤独岛孤独岛1116 Tage vor747

Antworte allen(2)Ich werde antworten

Keine Antwort
  • StornierenAntwort