【问题标题】:Is there a way to use PHP PDO with SplFixedArray when dataset is known?当数据集已知时,有没有办法将 PHP PDO 与 SplFixedArray 一起使用?
【发布时间】:2013-08-09 08:32:54
【问题描述】:

我想将http://uk3.php.net/manual/en/pdostatement.fetchall.php 与返回定义长度数据集的查询一起使用。

PDO 是否支持提取到 http://php.net/manual/en/class.splfixedarray.php 对象或者我需要迭代结果集?

【问题讨论】:

  • 为什么需要SplFixedArray,“迭代结果集”有什么问题,为什么不自己尝试呢?
  • 我想将SplFixedArray传递给另一个类,而默认的PHP数组消耗了太多内存。这不是 TIAS 的情况——我不知道除了首先迭代缓冲语句之外是否还有其他方法。

标签: php pdo


【解决方案1】:

如果标准数组消耗太多内存,则改为传递 PDO 语句,并使用 PDOStatement::fetch() 对其进行迭代。 它完全不会消耗内存(尤其是如果您将PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 设置为false

【讨论】:

  • 我就是这么做的。在我的情况下,这不起作用,因为最终类需要一个数组,在传递之前必须对其进行预处理。
  • 最后,知道从 PDO 结果集创建SplFixedArray 的方法通常是一个很好的技巧。
猜你喜欢
  • 2014-05-21
  • 2011-06-27
  • 2018-03-15
  • 2016-11-01
  • 1970-01-01
  • 2018-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多