如果存储过程(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!");