我正在实施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转换成阵列?替代方法错误? 提前谢谢,
答案 0 :(得分:0)
$STH = $DBH->query('SELECT field1,field2 from db');
setFetchMode(PDO::FETCH_ASSOC);
只调用您需要的字段,以便快速执行。
如果使用SELECT * FROM....
表示它获取所有列....那么执行查询需要更多时间。