加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP基于ADODB调用MSSQL存储过程

发布时间:2020-12-13 20:53:34 所属栏目:PHP教程 来源:网络整理
导读:前几天弄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 PROCED

前几天弄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',SQLVARCHAR ); //同上
  $db->Execute($stmt);

  echo $begin_date;
  echo $end_date;

这样就OK了,这简单的例子相信都能看得懂,其他的原理也是相同的。
在这里还要注意的是:$begin_date ,$end_date 一样要先赋个空值,否则结果取不到值。这就是害我搞了N久的原因了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读