you cant return multiple values from store proc but you can return multiple resultset, so you can use mssql_next_result()
eg..
$stmt = mssql_init("AuthLoginUser", $objDBH);
mssql_bind($stmt,"@LoginUser",$LoginUser,SQLVARCHAR);
mssql_bind($stmt,"@Password",$strNewPassword,SQLVARCHAR);
mssql_bind($stmt,"@SessionId",$SessionId,SQLVARCHAR);
//mssql_bind($stmt,"@ReturnVal",$ReturnVal,SQLVARCHAR,True);
$rs=mssql_execute($stmt);
do {
while ($row = mssql_fetch_row($rs)) {
echo "$row[0] -- $row[1]<BR>";
}
} while (mssql_next_result($rs));
mssql_free_result($rs);
mssql_next_result
(PHP 4 >= 4.0.5, PHP 5, PECL odbtp:1.1.1-1.1.4)
mssql_next_result — Muove il puntatore interno al risultato successivo
Descrizione
Nel caso in cui si eseguano più di una istruzione SQL al server, oppure si eseguano delle procedure memorizzate (stored procedure) con possibilità di molteplici risultati, il server restituirà un set di diversi risultati. Questa funzione verifica se esistono ulteriori risultati dal server. Se effettivamente esiste un'altro risultato, questa funzione libera la memoria dal risultato corrente e si predispone per la ricezione del risultato successivo. La funzione restituisce TRUE se è disponibile un'altro risultato, FALSE in caso contrario.
Example #1 mssql_next_result() Esempio di utilizzo
<?php
$link = mssql_connect("localhost", "utente", "password");
mssql_select_db("MyDB", $link);
$SQL = "Select * from tabella1 select * from tabella2";
$rs = mssql_query($SQL, $link);
do {
while ($row = mssql_fetch_row($rs)) {
}
} while (mssql_next_result($rs));
mssql_free_result($rs);
mssql_close($link);
?>
mssql_next_result
08-Dec-2003 05:40
09-Dec-2002 08:39
It seems that mssql_next_result does not work with result sets returned by stored procedures.
28-Jun-2002 08:43
This function does not exist as a Sybase (Sybase-CT) alias, so if you have PHP+FreeTDS||Sybase as a MSSQL client on Unix platform, it will not work.
