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),然后传递给下一行集. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |