错误fetchAll(PDO :: FETCH_ASSOC)

时间:2014-02-24 14:17:26

标签: php mysql sql pdo

我正在实施PDO的研究产品,并遇到了以下问题: 当sql查询返回太多结果时,在运行fetchAll(PDO :: FETCH_ASSOC)后进程停止(白屏)。

- )查询基本上是SELECT * FROM product WHERE ....(返回3000)

尝试将查询更改为:

- )SELECT id, name FROM product WHERE ....

所有案例的研究工作再次进行。

只是为了澄清查询总是正确的,因为execute()方法返回true。 products表有大约60列,包括允许HTML内容的某种文本。

我对PDO没有多少经验,无法解决紧急问题,但想知道问题的原因是什么。

怀疑:

此PDO是否有任何限制?也许PHP转换成阵列?替代方法错误? 提前谢谢,

1 个答案:

答案 0 :(得分:0)

$STH = $DBH->query('SELECT field1,field2 from db'); 
setFetchMode(PDO::FETCH_ASSOC);

只调用您需要的字段,以便快速执行。

如果使用SELECT * FROM....表示它获取所有列....那么执行查询需要更多时间。