SQL Server存储过程在PHP中不工作


SQL Server stored procedure not working in PHP

我有一个问题得到一个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);

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

    您的存储过程编写不正确。如果是这种情况,您应该在这里发布存储过程,以便我们查看。您的存储过程安全设置不正确。您需要在SQL Server Management Studio中设置安全设置。目前,我不记得设置安全设置的确切路径,但它类似于:右键单击usp_testsp - properties - security。然后用数据库登录信息设置存储过程。