在php中使用sql server 存储过程,可是返回值或者输出参数不知怎么接收,望各位大虾告知,感激不尽!!!

sun_1112 2002-05-31 03:19:29
存储过程如下:
CREATE PROCEDURE test
AS
return 0
在php中怎么能知道存储过程返回的是什么呢?
或者
CREATE PROCEDURE test
@out varchar(10) output
As
select @out="sdsdsds"
怎样能够得到存储过程输出的值呢?
我的php是这样的
<?
$server=mssql_pconnect("liuxiaping","sa","1234") or die("无法连接到服器");
$db=mssql_select_db("Epg_community") or die ("无法连接到数据库");
$query="exec test";
$re=mssql_query($query);
?>
往下怎样得到输出参数或返回值旧不知道了,
另外请大家不要把何志强写的那个"如何用PHP3调用Microsoft SQL Server的存储过程"
贴上来,我感觉那个有问题,而且还是过,根本不行。
还有我需要的是返回的值或者是输出参数,而不是结果集
希望大家多帮忙,
...全文
58 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lurel 2002-07-09
  • 打赏
  • 举报
回复
在php中调用存储过程基本上和执行一个sql语句一样,
比如这样
create proc aa
@text varchar(50)
as
begin
select @text as [text]
end

--------------------------
那么在php中调用时
$server=mssql_pconnect("liuxiaping","sa","1234") or die("无法连接到服器");
$db=mssql_select_db("Epg_community") or die ("无法连接到数据库");
$query="exec aa '你好'";
$re=mssql_query($query);
这样不就可以了吗?
liad 2002-07-08
  • 打赏
  • 举报
回复
存储过程:
CREATE PROCEDURE test
(
@id int output,
@msg varchar(20) output
)
AS
set @id = 100
set @msg = 'hello world!'
return 1


PHP程序:
<?
......
$query ="declare @result int, @id int, @msg varchar(20)\n";
$query.="exec @result=test @id output, @msg output\n";
$query.="select @result result,@id id,@msg msg";

$result = mssql_query($query) or die("can not execute $query");
$arr = mssql_fetch_array($result);
printf("%d, %d, %s<br>\n", $arr[result], $arr[id], $arr[msg]);
?>
sun_1112 2002-05-31
  • 打赏
  • 举报
回复
秋水无恨:
你到底会不会,会的话就帮个忙,详细点写出来
这算什么??
qiushuiwuhen 2002-05-31
  • 打赏
  • 举报
回复
As
select "sdsdsds"

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧