0

我在让 SQL Server 存储过程使用 PHP 工作时遇到问题。我的代码如下。存储过程期望将一个整数传递给它。显示的消息是“存储过程错误”。这表明连接正常。我不确定出了什么问题。有人可以帮我吗?谢谢。

$db_connection = sqlsrv_connect($servername, $connectOpts);

if($db_connection === false) {
     echo ("Error connecting to the database.");
    exit;
}

$sp_command = "EXEC usp_testsp @valint=?";
$sp_vals = array( array("3",    SQLSRV_PARAM_IN));
$sp_execute = sqlsrv_query($db_connection, $sp_command, $sp_vals);

if($sp_execute === false) {echo('Stored procedure error');}
else {echo('Success');}
sqlsrv_close($db_connection);
4

1 回答 1

1

我看不出你的代码有什么问题,所以我认为你的问题可能出在你的数据库本身。我能想到两种可能。

  1. 您的存储过程编写不正确。如果是这种情况,您应该在此处发布存储过程,以便我们查看。
  2. 您的存储过程安全设置不正确。您需要在 SQL Server Management Studio 中设置安全设置。顺便说一句,我不记得设置安全设置的确切路径,但它类似于:右键单击 usp_testsp - 属性 - 安全。然后使用数据库登录信息设置存储过程。
于 2013-04-14T22:56:40.730 回答