【问题标题】:PHP MSSQL - sqlsrv stored procedure no error and no responsePHP MSSQL - sqlsrv 存储过程无错误无响应
【发布时间】:2015-04-11 01:48:59
【问题描述】:

我创建了一个 microsoft sql 存储过程,并从下面的 php 代码中调用它。我没有得到任何错误,但我也没有得到任何输出。我已经看过了,但我仍然对如何执行 WHILE 语句来从 sql 中检索我需要的变量感到模糊......我希望有人可以看看下面的 php 代码(以及下面的 sql 代码)看看我可能会错过什么。哦,当我通过 SQL 执行存储过程时,它工作正常并返回我期望的数据。谢谢!

    <?php

$serverName = "PRATHIBA-PC\SQL2008";
$connectionInfo = array( "Database"=>"TMS", "UID"=>"sa", "PWD"=>"asset12345" );
//$connectionInfo = array( "Database"=>"TMS");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}



/* Define the Transact-SQL query. Use question marks (?) in
 place of  the parameters to be passed to the stored procedure 
 */  

$tsql_callSP = "{call Getstudentname( 1 )}";   

$studentid = '1';



$params = array( 
                 array($studentid, SQLSRV_PARAM_IN)
               );

/* Execute the query. */  
$stmt3 = sqlsrv_query( $conn, $tsql_callSP, $params);   

if( $stmt3 === false ) {       
echo "Error in executing statement 3.\n";       
die( print_r( sqlsrv_errors(), true)); }   

/* Display the value of the output parameters. */   
while (sqlsrv_fetch_object($stmt3)) {       
// SET PARAMETERS - SET TERMS      
//echo $term;  
}   

/*Free the statement and connection resources. */  


while ($obj=sqlsrv_fetch_object($stmt3)) {       
// SET PARAMETERS - SET TERMS      
echo $obj->term;}

sqlsrv_free_stmt( $stmt3); 
?>

这是 SQL Server 存储过程代码

USE [TMS]
GO

DECLARE @return_value int

EXEC    @return_value = [dbo].[Getstudentname]

SELECT  'Return Value' = @return_value

GO

当我运行这段代码时,我得到了输出:

exec Getstudentname 1; 

这是我在 sql server 中的输出

1 维韦克·乔哈里 vivek@abc.com

请帮帮我..

【问题讨论】:

    标签: php sql-server


    【解决方案1】:

    您可以尝试使用问号作为参数的占位符,如下所示:

    $tsql_callSP = "{call Getstudentname(?)}";
    

    不确定这是否有帮助?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多