加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – PDO dblib nextRowset无效

发布时间:2020-12-13 13:17:37 所属栏目:PHP教程 来源:网络整理
导读:我正在将 PHP应用程序从在Windows环境中运行转换为基于Linux的环境. 它利用PDO针对Microsoft SQL Server数据库运行存储过程. 所以,我已经安装并配置了PHP 5.6.22,Apache,freetds和pdo dblib以方便应用程序. 大多数存储过程执行都很完美.除了返回多个行集的那
我正在将 PHP应用程序从在Windows环境中运行转换为基于Linux的环境.

它利用PDO针对Microsoft SQL Server数据库运行存储过程.

所以,我已经安装并配置了PHP 5.6.22,Apache,freetds和pdo dblib以方便应用程序.

大多数存储过程执行都很完美.除了返回多个行集的那些.

当我调用$pdo-> nextRowset()时,我得到了这个致命的错误:

SQLSTATE[HY000]: General error: PDO_DBLIB: dbresults() returned FAIL

我能找到的唯一参考是PHP 5.6.9中报告的错误已得到修复.

但是,我在PHP 5.6.22中遇到了同样的问题.

有没有人有任何想法为什么会发生这种情况以及我如何解决它?

您是使用PDO :: fetch还是PDO :: fetchAll获取数据?因为如果你使用“fetch”方法并且没有到达行的末尾PDO :: nextRowset()将失败(我不知道为什么,它只是发生在我身上).

因此,对我来说,强制扫描所有行直到PDO :: fetch返回false,然后PDO :: nextRowset()将正常执行.

这意味着如果行集中只有一行,则必须至少调用两次PDO :: fetch(1表示检索数据,1表示返回false),然后传递给下一行集.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读