【问题标题】:When should I use closeCursor() for PDO statements?什么时候应该对 PDO 语句使用 closeCursor()?
【发布时间】:2012-10-02 08:57:06
【问题描述】:

The PHP documentation on closeCursor() 说它

释放与服务器的连接,以便可以发出其他 SQL 语句,但使语句处于可以再次执行的状态。

当我使用该命令时,虽然它在我的查询语句之间是否存在似乎并不重要,我开始怀疑我是否需要它。

将它用于不返回数据的数据库调用与那些返回数据的数据库调用有何不同?

【问题讨论】:

  • 当 PDO 抱怨它在执行其他无缓冲查询时无法执行查询时,您将知道您必须使用 closeCursor()。当您尝试通过PDOStatement 对象调用存储过程时,通常会发生这种情况。底线 - 除非您收到提到的错误,否则不要担心。
  • 另一个您可能感兴趣的 SO 问题:stackoverflow.com/questions/1046614/…
  • PDO 使用什么驱动程序?这可能会有所作为。 MySqli pdo, sqlsrv pdo?

标签: php pdo


【解决方案1】:

这取决于使用的驱动程序。我认为对于 mysql,这只会清除语句的结果。调用 closeCursor() 后,您不能再调用 fetch() 了。 但是再次执行该语句应该不是问题。 试试看mysql_free_result(),它做了类似的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-20
    • 2014-09-19
    • 1970-01-01
    • 2023-04-02
    • 2011-04-15
    • 2017-04-10
    相关资源
    最近更新 更多