php - 错误 fetchAll(PDO::FETCH_ASSOC)

标签 php mysql sql pdo

我在实现 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/

相关文章:

php - WordPress 向页面添加元描述

mysql - 简单语句的 SQL 语法错误

mysql - 如何加快从 <我的语言> 插入 <我的 DBMS> SQL 数据库?

mysql - 有更好的方法来设计这个数据库结构

php - 并排回显多个 div,其中包含来自 DB 的内容和容器 div 的填充宽度

php - LDAP 和 PHP 连接失败

mysql - 优化慢速 SQL 计数查询和按天分组

mysql - PostgreSQL - 列不存在(WHERE with AS)

python - 检测源代码中的 SQL 注入(inject)

php - 删除但保留数组 php/mysql 中带有 id 的行