【发布时间】:2014-11-23 21:36:46
【问题描述】:
我对 PDO 返回不完整的结果有疑问。在 phpmyadmin 中执行的特定查询返回 6000 行。 PDO 执行的相同查询仅返回前 1160 行。似乎是某种限制或其他东西。这个设置
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
没有帮助。
谢谢解答
编辑
SELECT
T1.`column1`,
MONTH( FROM_UNIXTIME( T1.`column2` ) ) AS month,
YEAR( FROM_UNIXTIME( T1.`column2` ) ) AS year,
(SELECT CONCAT(T2.`column1`,';',T2.`column2`,';',T3.`column1`) FROM `table2` T2 WHERE
T2.`column8` = T1.`column8` AND T2.`column1` LIKE '%new%') AS news,
(SELECT CONCAT(T2.`column1`,';',T2.`column2`,';',T3.`column1`) FROM `table2` T2 WHERE
T2.`column8` = T1.`column8` AND T2.`column1` LIKE '%old%') AS oldies,
FROM table1 T1
LEFT JOIN table3 T3 ON T1.column9 = T3.column2
WHERE T1.`column2` > 1388534400
这将是一次性执行,因此不需要优化
【问题讨论】:
-
您可以发布您的查询吗?
-
这不可能是查询。此查询存在语法错误。
-
Danke,这里重写查询时只是输入错误。
-
Danke 是德国人 ^^ 这意味着谢谢 :) 但是你怎么知道有 6k 个条目被选中......你怎么看你只得到 1160?其实我认为你有一个低设置
max_input_vars -
6k = phpmyadmin, 相同的查询 PDO while($row = $stmt->fetch()){...} = 1160. PDO 可能受 max_input_vars 影响?