【问题标题】:SQL Server stored procedure not working in PHPSQL Server 存储过程在 PHP 中不起作用
【发布时间】:2013-04-14 22:53:25
【问题描述】:

我在让 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);

【问题讨论】:

    标签: php sql-server stored-procedures


    【解决方案1】:

    我没有发现您的代码有任何问题,所以我认为您的问题可能出在您的数据库本身。我能想到两种可能性。

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

    【讨论】:

    • 问题出在权限上。这是我第一次尝试存储过程,所以我从来没想过。谢谢。
    • 没问题。当我第一次开始使用存储过程时,我遇到了同样的问题。第一个总是最难的。布莱斯,感谢您修复了我的答案的格式。我刚加入这里,还没有学习基本的格式化技巧。
    猜你喜欢
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多