前几天弄php调用mssql存储过程,搞了许久,网上资料也少之又少(特别是基于adodb的)。
那在这我就举个基于adodb调用mssql存储过程的例子吧,希望对人有所帮助。
/*
test out params - works in php 4.2.3 and 4.3.3 and 4.3.8 but not 4.3.0:
create procedure at_date_interval
@days integer,
@start varchar(20) out,
@end varchar(20) out
as
begin
set @start = convert(varchar(20), getdate(), 101)
set @end =convert(varchar(20), dateadd(day, @days, getdate()), 101 )
end
go
*/
$db->debug=1;
$stmt = $db->preparesp('at_date_interval');
$days = 10;
$begin_date = '';
$end_date = '';
$db->inparameter($stmt,$days,'days', 4, sqlint4); //这里97xxoo是in参数
$db->outparameter($stmt,$begin_date,'start', 20, sqlvarchar ); //这是存储过程返 回值,可直接访问$begin_date所得到。
$db->outparameter($stmt,$end_date,'end', 20, sqlvarchar ); //同上
$db->execute($stmt);
echo $begin_date;
echo $end_date;
完全公开源代码,并无任何许可限制 特别基于大型电子商务网站的系统开发 Microsoft SQL Server 2000后台数据库,充分应用了存储过程的巨大功效 基于类模块的扩展数据访问能力支持任何类型的大型数据库 加密用户登录信息(cookie) 易于安装的系统和应用功能 100%的asp.net的代码,没有COM,java或者其他的格式 完全基于MS建议的系统安全设计 最佳的应用程序,数据库
这样就OK了,这简单的例子相信都能看得懂,其他的原理也是相同的。
在这里还要注意的是:$begin_date ,$end_date 一样要先赋个空值,否则结果取不到值。这就是害我搞了N久的原因了。










