Ich versuche, eine gespeicherte MSSQL-Prozedur mit PHP auszuführen und dann Ergebnisse und echo sie auf eine Seite. Die Ergebnisse werden als zwei verschiedene Recordsets mit einer Reihe von Spalten ausgegeben. Siehe screenshot.Mehrere Recordset/Spalten Echo zu PHP von MSSQL gespeicherte Prozedur
Ich habe einige der Variablennamen geändert und ausgegeben, um einige vertrauliche Informationen zu schützen, aber der folgende SQL-Code ist genau das, was ich in MSSQL Server Management Studio ausführe, und es gibt den oben verlinkten Ausgabe-Screenshot zurück.
Ich habe versucht, auch die folgenden über PHP und es wird keine Ergebnisse Rückkehr:
if ([email protected]_connect($host,$username,$password)) {
$error = $db_connect_error;
echo $error;
}
@mssql_select_db($dbname);
$stmt=mssql_init("[dbo].[stored_procedure_name]");
mssql_bind($stmt, "@StartTime", $start_last, SQLVARCHAR, FALSE);
mssql_bind($stmt, "@EndTime", $end_last, SQLVARCHAR, FALSE);
mssql_bind...continued for all variables
$result = mssql_execute($stmt);
$arr = mssql_fetch_row($result);
print_r($arr);
ich ein paar andere verschiedene Möglichkeiten ausprobiert habe ich über Googeln gefunden habe, die Daten zu erhalten, werden hallte oder in einem Array in PHP gespeichert, aber nichts, was ich versucht habe, hat funktioniert.
MSSQL-Anweisung, die in MSSQL Server Management Studio ohne Probleme läuft, dies ist das Standardformat, wenn ich die gespeicherte Prozedur finden und von MSSQL SMS laufen:
DECLARE @RC int
DECLARE @StartTime datetime
DECLARE @EndTime datetime
DECLARE @a varchar(4000)
DECLARE @b varchar(4000)
DECLARE @c varchar(50)
DECLARE @d varchar(50)
DECLARE @e varchar(50)
DECLARE @f varchar(50)
DECLARE @g int
DECLARE @h int
DECLARE @i int
DECLARE @j int
DECLARE @k int
DECLARE @l int
DECLARE @m int
DECLARE @n int
DECLARE @o int
DECLARE @p int
DECLARE @q int
DECLARE @r varchar(100)
DECLARE @s int
DECLARE @t float
DECLARE @u float
DECLARE @v float
DECLARE @w int
-- TODO: Set parameter values here.
SET @StartTime = '2017-02-01 07:30'
SET @EndTime = '2017-02-01 19:30'
SET @a = 'string'
SET @b = 'string'
SET @c = 'string'
SET @d = 'string'
SET @e = 'string'
SET @f = 'string'
SET @g = 105
SET @h = 108
SET @i = 101
SET @j = 147
SET @k = 124
SET @l = 141
SET @m = 103
SET @n = 186
SET @o = 185
SET @p = 113
SET @q = 182
SET @r = 'string'
SET @s = 77
SET @t = 101.5
SET @u = 1000
SET @v = 25.4
SET @w = 1
EXECUTE @RC = [dbo].[spLocal_RptCvtgLinestatus]
@StartTime
,@EndTime
,@a
,@b
,@c
,@d
,@e
,@f
,@g
,@h
,@i
,@j
,@k
,@l
,@m
,@n
,@o
,@p
,@q
,@r
,@s
,@t
,@u
,@v
,@w
Wo liegt Deine Verbindung? Außerdem sollten Sie in Betracht ziehen, auf 'mysqli_ *' oder 'PDO' zu aktualisieren. – nerdlyist
Hoppla, ich habe die Verbindungsinformationen nicht hinzugefügt, ich habe sie dem ursprünglichen Beitrag über dem anderen PHP-Code hinzugefügt. –