0

我经常使用 PDO 运行 MSSQL 存储过程,但偶尔会遇到存储过程运行不正确的问题。

目前,我有一个相当复杂的存储过程,其中包括对临时表的各种插入和一个嵌套循环语句。当我从它们 SQL 管理器中执行存储过程时,它运行良好。运行大约需要 1.5 分钟,但它可以毫无问题地完成。

问题是当我像这样从 PHP 运行它时:

$q = $dbh->prepare('exec sp_mysp');
$q->execute();

我检查了$q->errorInfo();,没有错误,但程序没有完成。看起来它正在存储过程的嵌套循环中间倾倒。

当使用 PDO 从 PHP 调用存储过程时,它可以做什么有任何限制吗?另外,有没有一种很好的调试方法,因为我被卡住了。

对此的任何帮助都会很棒。

谢谢!

4

1 回答 1

0

我遇到了同样的问题,我的存储过程通过 SQL 管理工作室执行得很好,但当我使用 PDO 通过 PHP 调用 EXECUTE 时却没有。我没有通过任何参数等。

无论出于何种原因,我将值插入到 Temp 表中 - 一旦我用实际表替换了 temp 表,Stored Proc 就执行得很好。

于 2017-02-06T13:38:17.060 回答