1

我正在使用 php 来使用 mssql 存储过程,我的代码可以与其他存储过程一起使用,但是当我尝试从这个存储过程中返回一些东西时,它只返回 bool(false) 而不是选定的值。

    $para = array(array($this->Forename), array($this->Surname), );  
    $result = mssqldb::query("{call usp_NewCustToOrderRemote(?,?)}", $para);  
    $userid = sqlsrv_fetch_array($result);  var_dump($userid);

存储过程基本上只是插入参数然后选择新的行id

    set     @newID = @@IDENTITY
    select @newID

我无法控制存储过程,因此无法添加返回值。当我在管理工具中运行存储过程时,它运行良好,当我在 php 中运行时,会创建行。哦,我的 db 连接器类没有使用 mssql 但 sqlsrv 它只是命名不正确。我错过了一些非常明显的东西吗?

4

1 回答 1

0

由于我的存储过程更新了一行,然后返回了“选择”,我不得不使用转到下一个结果,因为第一个结果是更新的行。

    sqlsrv_next_result($result);
    $id = sqlsrv_fetch_array($result)[0];

我也添加了验证:)

于 2012-10-01T19:38:25.987 回答