php 调用mssql存储过程实例应用

时间:2022-05-03 14:05:54

php教程 调用mssql存储过程实例应用

用mssql_init语句用于初始化存储过程,而后调用mssql_bind语句指定存储过程参数,最后调用mssql_execute执行存储过程。
*/

//连接mssql数据库教程服务器

 $link = mssql_connect("127.0.0.1", "sa", "sa") or die("Can't connect sql server");
    mssql_select_db("frrc", $link) or die("Select database failure");

//初始化并加载存储过程 Bigdatabase

     $stmt = mssql_init("Bigdatabase", $link) or die("initialize stored procedure failure");  
  mssql_bind($stmt, "@pagesize", $pagesize, SQLINT4);
  mssql_bind($stmt, "@start", $start, SQLINT4);
  @$ms_result = mssql_execute($stmt, false);
  mssql_query("DUMP TRANSACTION tempdb WITH NO_LOG");
  
  do{
   while( $ms_rs = mssql_fetch_object($ms_result) )
   {
    //进行数据处理
   }
  }

// msssql  存储过程 Bigdatabase如下

/*
CREATE PROCEDURE Bigdatabase
@pagesize int,
@start int  
AS
declare @bsql nvarchar(4000)
set @bsql = 'select top ' + str(@pagesize) + ' username,jobid,password,useremail,zcdata,ip,name,xingbie,minzu,xueli,hunyin,age,xuexiao,zyclass,zhuanye,x_suozaidi,x_suozaidi1,huji,huji1,shengao,byear,birthyear,birthmonth,birthday,dianhua,qq,gerenzhuye,selectedjob1,selectedjob2,selectedjob3,s_PWL1,s_PWL2,s_PWL3,daiyuyaoqiu,Negotiable,provideHouseNeeded,availOpts,availNotice,llcs,CONVERT(varchar(100),dlsj, 25) as dlsj,xgsj,dlcs,jsjshuiping,language_one,l_OneAbility,language_two,l_twoAbility,mandarinLevel,skillkey,jingyan,photopb,photo,phototre,mbsys,codetype,code,shouji,posts,address,jobtype,convert(varchar(8000),pingjia) as pingjia ,convert(varchar(8000),jinengzhuanchang) as jinengzhuanchang ,convert(varchar(8000),fazhanfangxiang) as fazhanfangxiang,convert(varchar(8000),other) as other from person where id not in(select top ' + str(@start) + ' id from person   order by id asc)   order by id asc '
execute sp_executesql @bsql
GO

注:必须把text转换成varchar来处理,否则会出问题

本站原创文章转载注明来源于www.111cn.net 中国WEB第一站