这是我的PHP代码
<?php
$serverName = '192.168.1.189';
        $connectionInfo = array( "UID"=>"sa",
                         "PWD"=>"123456",
                         "Database"=>"PuShuRepor");
        $conn = sqlsrv_connect( $serverName, $connectionInfo);
        $data = array();
        $stmt = sqlsrv_query( $conn,"exec sp_CSshop4 ' ','2017-10-11','2017-10-11'");
        if($stmt){
         while ($row = sqlsrv_fetch_array($stmt)){
         $data[] = $row;
         }
         if($data){
         print_r($data);
         }else{
         echo 'error in data';
         die(print_r(sqlsrv_errors(), true));
         }
        }else{
         echo 'error in stmt';
         die(print_r(sqlsrv_errors(), true));
        }
        // $stmt= sqlsrv_next_result($stmt);
        
        
?>
这是报错:这是存储过程返回的表

解决方案 »

  1.   

    参见此文:
    http://www.mysqltutorial.org/mysql-stored-procedures-return-multiple-values/
      

  2.   

    http://www.jb51.net/article/39437.htm
      

  3.   

    insert into #tmpAskCountTable(Shopname, wwPassSuccesssum)  
       
       select 'XXXXX',count(distinct s.[OrderNum]) as wwPassSuccess from
       (select distinct a.[OrderNum],a.[BName],a.DataDate from 
       (SELECT  [OrderNum],[BName],[BACTPrice],DataDate FROM [CRM].[dbo].T_DGTCOrderList   where OrderState=1 and DataDate between @startTime+' 00:00:00' and @endtime+' 23:59:59')a
     inner join 
      (SELECT distinct Costomer  from  CS_Input where shopId=1 and  DataDate between  @startTime+' 00:00:00' and @endtime+' 23:59:59' )b
       on a.BName=b.Costomer)s inner join 
      (SELECT c.[MainOrderNum] from(SELECT   [DataDate]  ,[MainOrderNum],[OrderState],[TaoId] FROM [T_DGTCOrderDay] where [OrderState]=1 and [DataDate] between  @startTime+' 00:00:00' and @endtime+' 23:59:59' )c
      inner join (SELECT  [TaoId] FROM  [T_Product] where ShopId=1 and   SQ like'%PAS%')d
      on c.TaoId=d.TaoId)m
      on s.OrderNum=m.MainOrderNum group by Convert(date,s.DataDate)