PHP接受SqlServer存储过程的返回值问题

如果存储过程(sqlserver)返回@@Var之类的Int值或者其他值,应该怎么取得这个值?
请高手出手
---------------------------------------------------------------

请说的详细些
---------------------------------------------------------------

一个例子:

假如我们用下面存储过程:
CREATE PROCEDURE [procedure]
(
@sval varchar(50) OUTPUT,
@intval int OUTPUT,
@floatval decimal(6,4) OUTPUT
) AS

if @intval is null
select '@intval is null' as answer
else
select '@intval is NOT null' as answer

set @sval='Hello ' + @sval
set @intval=@intval+1
set @floatval=@floatval+1

return 10

参考的php代码:

 1   
 2$conn=mssql_connect("myhost","user","pwd");   
 3if ($conn) {   
 4mssql_select_db("mydb",$conn);   
 5  
 6$stmt=mssql_init("procedure",$conn);   
 7mssql_bind($stmt,"RETVAL",&$val,SQLINT4);   
 8  
 9$ival=11;   
10$fval=2.1416;   
11$sval="Frank";   
12  
13mssql_bind($stmt,"@sval",&$sval,SQLVARCHAR,TRUE);   
14mssql_bind($stmt,"@intval",&$ival,SQLINT4,TRUE);   
15mssql_bind($stmt,"@floatval",&$fval,SQLFLT8,TRUE);   
16  
17$result=mssql_execute($stmt);   
18  
19$arr=mssql_fetch_row($result);   
20print ("Answer: " . $arr[0] . "   
21" );   
22print ("RETVAL = $val ; intval = $ival ; floatval = $fval ; string = $sval");   
23  
24mssql_close($conn);   
25}   
26else print("ooops!");   
Published At
Categories with Web编程
Tagged with
comments powered by Disqus