2017-09-25 40 views
0

我试着从存储过程中获取数据检索从SQL Server存储过程的数据,但它给了我一个错误,存储过程时,我经过一定的价值看起来像这样如何使用PHP

 `DECLARE @return_value int 

    EXEC @return_value = [dbo].[sp_PersonAlerts_Get] 
    @Active = 1, 
    @StartWeek = NULL, 
    @PersonID = 0 

    SELECT 'Return Value' = @return_value 

    GO` 

的PHP代码检索一个结果是:

<?php 

    $var_Active = 1; 

    $var_PersonID = 0; 

    $var_StartWeek = null; 



    $params = array(
       array($var_Active, SQLSRV_PARAM_IN), 
       array($var_StartWeek, SQLSRV_PARAM_IN), 
       array($var_PersonID, SQLSRV_PARAM_IN) 

       ); 

    $sp_name = "Exec sp_PersonAlerts_Get @Active = ?, @StartWeek = ?, @PersonID=?"; 
$stmt = sqlsrv_query($gaSql['link'], $sp_name, $params);// or die("<pre>" . print_r(sqlsrv_errors()) . "<br><br>$sp_name</pre>"); 



while($obj = sqlsrv_fetch_object($stmt)){ 
    $var_StartDate  = $obj->StartDate; 

echo $var_StartDate; 

    } 


?> 

它给了我这个消息:

Array ([0] => Array ([0] => 01000 [SQLSTATE] => 01000 [1] => 0 
[code] => 0 [2] => [Microsoft][ODBC Driver 13 for SQL Server][SQl Server]@StartWeek: 2017-09-24, @EndWk: 2017-09-30 [message] => [Microsoft][ODBC  Driver 13 for SQL Server][SQL Server]@StartWeek: 2017-09-24, @EndWk: 2017-09-30)) 

谢谢在事先,我已经测试了连接和存储过程,他们都好,但我似乎无法找到代码中的错误。

回答