我在实现 PDO 的研究产品时遇到了以下问题: 当 sql 查询返回太多结果时,进程在运行 fetchAll (PDO::FETCH_ASSOC) 后停止(白屏)。
-) 查询基本上是 SELECT * FROM product WHERE ....
(返回 3000)
经过几次尝试将查询更改为:
-) SELECT id, name FROM product WHERE ....
所有案例的研究工作再次进行。
只是为了澄清查询总是正确的,因为 execute () 方法返回 true。 产品表有大约 60 列,包括某种允许 HTML 内容的文本。
我对PDO没有太多经验,无法解决紧急问题,但想知道问题的原因是什么。
疑问:
此 PDO 是否有任何限制?也许 PHP 转换成数组?解决方法错误? 提前致谢,
最佳答案
$STH = $DBH->query('SELECT field1,field2 from db');
setFetchMode(PDO::FETCH_ASSOC);
只需调用您需要的字段即可快速执行。
如果使用 SELECT * FROM....
意味着它获取所有列....因此执行查询需要更多时间。
关于php - 错误 fetchAll(PDO::FETCH_ASSOC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21990354/