繁体   English   中英

无效的游标状态-pdo_odbc FreeTDS SQL Server

[英]Invalid cursor state - pdo_odbc FreeTDS SQL Server

我们正在运行一个完全无条件的查询,并收到以下错误:

PDOException : SQLSTATE[24000]: Invalid cursor state: 0 [FreeTDS][SQL Server]Invalid cursor state (SQLExecute[0] at /builddir/build/BUILD/php-5.5.13/ext/pdo_odbc/odbc_stmt.c:254)

从PHP中,我们使用pdo_odbc库通过pdo_odbc连接到SQLServer 2008

它表明是导致问题的先前查询。 我们正在使用:

$pdo_statement->fetch(\PDO::FETCH_ASSOC);

退出单行,但此后不执行任何操作。 这使游标保持打开状态,然后引发错误,然后下次执行任何查询。 对于我们来说,在下一个查询之前关闭游标是前进的方法。

$pdo_statement->closeCursor();

还值得注意的是,使用fetchAll() (在前面的查询中)也是一种解决方法,因为这不会使游标保持打开状态。

$pdo_statement->fetchAll(\PDO::FETCH_ASSOC);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM